MessageBox при закрытии формы
Я использую этот код для вопроса перед закрытием приложения, но он работает неправильно.
Мой код, как показано ниже.
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult dlgresult = MessageBox.Show("Exit or no?",
"My First Application",
MessageBoxButtons.YesNo,
MessageBoxIcon.Information);
if (dlgresult == DialogResult.No)
{
e.Cancel = true;
}
else
{
Application.Exit();
}
}
1 ответов
вам не нужно явно вызывать Application.Exit()
так как вы находитесь в FormClosing
событие, которое означает, что запрос закрытия был запущен(например, нажмите на крестик на кнопке формы,this.Close()
). Вам просто нужно перехватить запрос закрытия и указать e.Cancel = true;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(MessageBox.Show("Exit or no?",
"My First Application",
MessageBoxButtons.YesNo,
MessageBoxIcon.Information) == DialogResult.No) {
e.Cancel = true;
}
}