我在主窗体的 formclosing事件中询问用户是否退出,为什么这个询问会出现两次呢?
就是下面的代码,这个提示框会出现两次,这不是我想要用效果,我想只询问一次就行了,为什么是两次呢?
哪行代码影响的呢?好象就该是 application.exit()这一句吧。可是这一句不能省呀,如果省了这一句,好象不能真正退出呀。(因为如果不加这一句,则退出程序后,菜单中的调试按钮还是虚的,说明程序没有真正的退出运行状态) private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (DialogResult.Yes == MessageBox.Show("您确实要关闭主程序吗?", "询问", MessageBoxButtons.YesNo,MessageBoxIcon.Question))
{
Application.Exit();
}
else
{
e.Cancel = true;
}
}
就是下面的代码,这个提示框会出现两次,这不是我想要用效果,我想只询问一次就行了,为什么是两次呢?
哪行代码影响的呢?好象就该是 application.exit()这一句吧。可是这一句不能省呀,如果省了这一句,好象不能真正退出呀。(因为如果不加这一句,则退出程序后,菜单中的调试按钮还是虚的,说明程序没有真正的退出运行状态) private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (DialogResult.Yes == MessageBox.Show("您确实要关闭主程序吗?", "询问", MessageBoxButtons.YesNo,MessageBoxIcon.Question))
{
Application.Exit();
}
else
{
e.Cancel = true;
}
}
解决方案 »
- Form里有个pictureBox。。。。
- C#如何在上传图片时点浏览按钮就可以上传并显示图片?
- 如何计算字符串
- 怎样让同一个数据库中的datetime字段相减啊?
- 在一个项目下再放一个项目运行,即在一个虚拟目录下再放一个另一个项目,怎么让他运行正常
- 有关 Microsoftl.NET框架程序设计 一书的问题
- 我的代码有重大错误吗?
- 关于C#中timer的用法
- 请问,C#中怎么实现线程互斥?
- 在k6-266,32m上装.net framework就可编译c#了吗?
- 窗体加载为什么触发 treeView的AfterSelect事件
- 利用HttpWebRequest下载文档有时候会卡住需要怎么解决(内附部分代码)
替换Application.Exit();
试试
{
if (e.CloseReason == CloseReason.ApplicationExitCall)
return;
if (DialogResult.Yes == MessageBox.Show("您确实要关闭主程序吗?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
Application.Exit();
}
else
{
e.Cancel = true;
}
}
{if(!bClosing)
{
if (DialogResult.Yes == MessageBox.Show("您确实要关闭主程序吗?", "询问", MessageBoxButtons.YesNo,MessageBoxIcon.Question))
{
bClosing = true
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}