Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Хелп Добавлено: 01.03.10 00:47  

Автор вопроса:  UnDeAdZak
Подскажите, как в C# программно выйти из программы, в бейсике просто было End, а в C#?

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 01.03.10 07:38
  1. throw new Exception();

Ответить

Номер ответа: 2
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #2
Добавлено: 01.03.10 08:26
End - это плохой выход из программы, достаточно закрыть главную форму приложения (или все формы в зависимости от режима проекта)

EROS, O_O чтож ты тваришь:)

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 01.03.10 13:03
EROS, O_O чтож ты тваришь

всего лишь показал один из способов выхода из программы..
Разве по этой команде приложение не завершит свою работу?
имхо, мой вариант более правильно чем Application.Current.Shutdown();.. потому что так завершать приложение некорректно..

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 01.03.10 21:47
Я знаю два сааамых корректных на свете способа завершить свою программу в Windows на любом языке программирования :)

1. ExitProcess(0)
2. TerminateProcess(GetCurrentProcess(), 0)

Ответить

Номер ответа: 5
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #5 Добавлено: 01.03.10 22:21
EROS
  1. throw new Exception();

 Аффигенный способ выйти из программы! А может ещщё прощще?
  1.  
  2. int a = 0;
  3. int b = 1;
  4. label1.text = (b/a)ToString();

Ответить

Номер ответа: 6
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #6
Добавлено: 01.03.10 22:21
throw new Exception();

Можно еще красивее :)
  1. (null as Control).Left += (null as Control).Top;

Ответить

Номер ответа: 7
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #7 Добавлено: 01.03.10 22:23
А менее жестокий способ есть?

Ответить

Номер ответа: 8
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #8 Добавлено: 02.03.10 07:51
А менее жестокий способ есть?

да ладно.. ничего жестого тут нет.. все предложения ведут к желаемому результату..

Если ты еще не додумался, то чтобы завершить программу надо закрыть главную форму приложения вызвав у нее метод Close();
Если нигде не накосячил с зависшими потоками, то приложение корректно завершит свою работу..

Ответить

Номер ответа: 9
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #9 Добавлено: 03.03.10 00:21
=(

Ответить

Номер ответа: 10
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #10 Добавлено: 03.03.10 01:33
Кто-то сломал акаунт EROSа

Вот так можно завершить приложение (вместе со всеми потоками и т.п.)
  1. System.Environment.Exit(0)

Ответить

Номер ответа: 11
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #11 Добавлено: 03.03.10 08:08
Блин, ну вот нафига ты это показал??? Теперь станет на одного криворукого программера больше.. вместо того чтоб отлаживать код будет тупо вызывать эту хрень...

Ответить

Номер ответа: 12
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #12 Добавлено: 03.03.10 10:03
EROSНе буду=). Я просто не знал, что если закрыть главную форму, то программа оффнется)

Ответить

Номер ответа: 13
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #13 Добавлено: 03.03.10 13:23
Не обязательно.
Если есть потоки, у которых IsBackground=False, то после закрытия окна эта потоки продолжат работать

Ответить

Номер ответа: 14
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #14 Добавлено: 03.03.10 13:49
то после закрытия окна эта потоки продолжат работать

при этом приложение НЕ завершит свою работу и процесс останется висеть в памяти.. Именно об этом я и говорил когда писал:
Если нигде не накосячил с зависшими потоками, то приложение корректно завершит свою работу..

И как средство борьбы с этим злом ты учишь школьнега юзать System.Environment.Exit(0) ??

Ответить

Номер ответа: 15
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #15 Добавлено: 04.03.10 05:04
System.Environment.Exit(0) завершит работу всех потоков, в том числе тех, у которых IsBackground=false

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам