Вопрос

Я пытаюсь сделать это так, чтобы пользователь предложил подтвердить выходу за мою программу в 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 (); Событие с формоблокирующего события и переместила его в формированное событие. Все это работает сейчас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top