问题描述
当点击右上角的X关闭按钮是,弹出询问的MessageBox对话框,点击确定退出程序。但是不知道为什么,必须要点击两下才能退出。但是点击左上角“退出按钮”后,弹出询问对话框,点击一次就能正常退出。这是什么原因呢?
解决方案
解决方案二:
你创建了两个box框,跟踪一下吧
解决方案三:
左上角“退出”按钮事件代码
解决方案四:
这个是退出时触发的事件
解决方案五:
感觉像是if条件执行了两次。不知道怎么改
解决方案六:
你应该发你出问题地方的代码。不是发没有问题的。
解决方案七:
if条件成立就不用exit()了。
解决方案八:
FormClosing事件,if条件为true,把Application.Exit()替换成e.Cancel=false;
解决方案九:
退出按钮里应该写this.Close(),而不要乱写Application.Exit()弹出窗口里,判断如果点了是,则什么都不用做,而不是再执行一遍Application.Exit()如果确实有必要执行Application.Exit(),放到Form_Closed事件里去执行
解决方案十:
引用7楼lovelj2012的回复:
FormClosing事件,if条件为true,把Application.Exit()替换成e.Cancel=false;
按照你说的改了之后就能正常了我调试了很长时间,,跪谢跪谢可是不知道为什么按照我那样写的话点击两次才能退出我测试了一下if里面的内容执行了两次好郁闷
解决方案十一:
引用6楼duanzi_peng的回复:
if条件成立就不用exit()了。
恩恩,我测试了之后也是对的非常感谢你们
解决方案十二:
去掉Application.Exit()即可
解决方案十三:
退出执行了两次Application.Exit()
解决方案十四:
解决方案十五:
关闭窗体弹出确认对话框示例privatevoidFrm_Main_FormClosing(objectsender,FormClosingEventArgse)//触发窗体关闭事件{if(MessageBox.Show("将要关闭窗体,是否继续?","询问",MessageBoxButtons.YesNo)==DialogResult.Yes)//判断是否单击了“是”按钮{e.Cancel=false;//关闭窗体}else{e.Cancel=true;//取消事件的执行}}