Двойное подтверждение на выходе
Вопрос
Я пытаюсь сделать это так, чтобы пользователь предложил подтвердить выходу за мою программу в C #, но по какой-то причине, если они говорят «Да», они хотели бы выйти, подтверждающий коробку снова появится снова. Я не могу понять, почему.
if (MessageBox.Show("Are you sure you want to exit?", "Confirm exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
}
else { Application.Exit(); }
Решение
Ах, вы проверили CloseReason
для FormClosing
мероприятие? Я думаю, что вы можете получить то же событие на две разные причины (хотя я точно не ожидаю, что это произойдет нормально); Проверьте свои FormClosingEventArgs
чтобы увидеть, какие параметры.
Другие советы
Использовать этот
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("Are you sure you want to close?", "Infomate", MessageBoxButtons.YesNo) == DialogResult.No)
{
e.Cancel = true;
}
}
Ах, я понял, как это исправить. Я удалил приложение. Oxit (); Событие с формоблокирующего события и переместила его в формированное событие. Все это работает сейчас.
Не связан с StackOverflow