Конец приложения в C #
В качестве примера ниже я использую оператор If для своего Приложения, где, если вы нажмете Да, Приложение должно закрыться. Я нажимаю Да и Нет, и приложение просто продолжается независимо. Кто-нибудь знает, почему это может произойти?
if (diff_ULNDOB.Any())
{
DialogResult result1 = System.Windows.Forms.MessageBox.Show("Cannot proceed with Cross Year checks! Please see Workbook " + output + "." + " Do you wish to close the Application?", "Error",
MessageBoxButtons.YesNo);
if (result1 == DialogResult.Yes)
{
System.Windows.Forms.Application.Exit();
}
Progress.Error = true;
break;
}
2 ответа
Добавлять Environment.Exit(0);
когда вы хотите закрыть приложение.
Я хотел бы использовать Application.Exit()
так как это более чистый способ сделать это, чем Environment.Exit(0)
,
Преимущества использования Application.Exit()
является то, что позволит форме выполнять любые процессы очистки, такие как Form.OnClose
который может включать закрытие соединений с базой данных и обработчики файлов.
Enivornment.Exit(0)
это то же самое, что просто убить процесс напрямую, поэтому, если вы используете его, убедитесь, что все соединения и файлы были освобождены правильно.
Выше было для приложений Windows Forms. Если это консольное приложение, лучший способ выхода из приложения - вернуть соответствующий код завершения в Main
метод.