Почему Application.Exit () не выходит из приложения Windows Forms? - PullRequest
2 голосов
/ 28 января 2010

Я работаю над изучением Windows Forms с C # и у меня есть голое приложение. Я пытаюсь закрыть его, когда пользователь выбирает Файл-> Выход. У меня есть обработчик событий, и я попытался вызвать Application.Exit(), Application.ExitThread() и просто закрыть форму. Ничего такого. Это остается там. Я не создаю никаких других тем.

Идеи? Спасибо.

Ответы [ 2 ]

6 голосов
/ 28 января 2010

Пытались ли вы установить точку останова в обработчике событий, чтобы проверить, ударили ли по ней?

Если это так, приложение не будет закрываться, если сообщения окна не доставляются (т. Е. Поток пользовательского интерфейса заблокирован). Один из способов проверить это - вызвать Environment.Exit(), что более жестоко в отношении форсирования закрытия. Если это удастся, вы можете выяснить, почему Application.Exit() не работает.

4 голосов
/ 28 января 2010

Application.Exit - это не обычный способ закрыть приложение с графическим интерфейсом. Вместо этого используйте form.Close.

  private static void OnMenuClose_Click(object sender, System.EventArgs e)
  {
     Form dlg = ((Control) sender).FindForm();
     //dlg.DialogResult = DialogResult.OK;
     dlg.Close();
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...