Страница: 1 | 2 |
Вопрос: Хелп
Добавлено: 01.03.10 00:47
Автор вопроса: UnDeAdZak
Подскажите, как в C# программно выйти из программы, в бейсике просто было End, а в C#?
Ответы
Всего ответов: 19
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 01.03.10 07:38
Номер ответа: 2
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #2
Добавлено: 01.03.10 08:26
End - это плохой выход из программы, достаточно закрыть главную форму приложения (или все формы в зависимости от режима проекта)
EROS, O_O чтож ты тваришь
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 01.03.10 13:03
всего лишь показал один из способов выхода из программы..
Разве по этой команде приложение не завершит свою работу?
имхо, мой вариант более правильно чем Application.Current.Shutdown();.. потому что так завершать приложение некорректно..
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #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
Аффигенный способ выйти из программы! А может ещщё прощще?
Номер ответа: 6
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #6
Добавлено: 01.03.10 22:21
Можно еще красивее
Номер ответа: 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а
Вот так можно завершить приложение (вместе со всеми потоками и т.п.)
Номер ответа: 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