【发布时间】:2017-11-07 19:51:54
【问题描述】:
我正在使用下面的代码退出我的整个应用程序应用程序,并带有 YesNo 问题messagebox 我的问题是,有时我收到了两次消息,而其他时候我正确地收到了一条消息显示..
任何人都可以帮助我为什么会发生这种情况??
private void AppClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void F0100_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result;
result = MessageBox.Show("Are you sure you want to exit?", "Exit Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
//Environment.Exit(1);
Application.Exit();
}
else
{ e.Cancel = true; }
}
【问题讨论】:
-
您的
Show调用似乎没有足够的参数。 -
所以你试图强制关闭整个应用程序,而不仅仅是这个表单,对吗?而且这种形式不是主要形式……对吧?
-
@DonBoitnott 对不起错别字
-
您始终需要检查 e.CloseReason 以验证您是否真的要显示此消息框。很多理由不这样做,比如 WindowsShutdown。和 ApplicationExitCall :)
-
很少有用户意外退出程序。不要用需要他们注意的不必要的对话框来打扰用户。