我想要它,以便名为'Exit'的menustrip项目会显示一个MessageBox,询问用户是否真的希望退出,但无论是否单击是或否,它仍会退出程序。
private void Exit_Click(object sender, EventArgs e)
{
// Shows a prompt asking the user if they really want to exit
DialogResult dQuit;
dQuit = MessageBox.Show("Do you really wish to exit?",
"Exit?",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
// If 'Yes' button is clicked, close the program
if (dQuit == DialogResult.Yes)
{
Application.Exit();
}
else
{
// Else, close the dialog box and return to the menu screen
this.DialogResult = System.Windows.Forms.DialogResult.No;
}
}
答案 0 :(得分:4)
您正在使用代码
关闭表单this.DialogResult = System.Windows.Forms.DialogResult.No;
在else
区块中。
您无需执行任何操作来关闭MessageBox;只要用户单击其中一个按钮,它就会自动关闭。在MessageBox已经关闭之前,MessageBox.Show
方法不会返回。
答案 1 :(得分:2)
您可以在没有else
的情况下尝试此操作:
if (MessageBox.Show("Do you really wish to exit?", "Exit?", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Application.Exit();
}
答案 2 :(得分:1)
MessageBox.Show("Do you really wish to exit?", "Exit?", MessageBoxButtons.YesNo);
Application.Exit();
我强烈反对这样做,尽管因为用户可用性很差