C#中的"是","否"选项的消息框?

Y.A*_*soy 3 c# dialogresult winforms

我想做一个MessageBox确认.这是消息框:

DialogResult dialog = MessageBox.Show("Etes vous sûre de vouloir fermer le programme ?", "Exit",MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
  Application.Exit();
}
else if (dialog == DialogResult.No)
{
    e.Cancel = true;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我单击YES按钮时,弹出窗口不会自动关闭.我再次点击2次后将关闭.它应该从第一次关闭.

这似乎很容易,但我不确定我的错误在哪里;

Dmi*_*lov 5

如果它是主窗体关闭方法,你可以像这样使用它:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    if (MessageBox.Show("Really close?", "Exit", MessageBoxButtons.YesNo) ==
        System.Windows.Forms.DialogResult.No)
        e.Cancel = true;
}
Run Code Online (Sandbox Code Playgroud)

如果用户按"是",您的表格将因未完全取消而关闭.如果它不是主要形式关闭并不意味着申请退出.在这种情况下,您可以在ShowDialog调用后显式关闭父表单.