winfrom关闭主窗体时关闭进程 5

privatevoidCarMain_FormClosing(objectsender,FormClosingEventArgse){MessageBoxButtonsm... private void CarMain_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
DialogResult dr = MessageBox.Show("确定要退出吗?", "退出系统", messButton);
if (dr == DialogResult.OK)//如果点击“确定”按钮
{
Application.Exit();
}
else//如果点击“取消”按钮
{
e.Cancel = true;
return;
}

请问 哪位老师知道 为什么 关闭时 会弹出2次? 咋样解决呢?求赐教 谢谢

}
展开
 我来答
哲事姓无
2014-09-02 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:445万
展开全部

Application.Exit 会引发窗口的FormClosing 事件 ,所以当你调用 Application.Exit 进再次调用 CarMain_FormClosing, 

如果 CarMain 是主窗口的话,那么直接如下调用

 if (dr != DialogResult.OK)//如果点击“确定”按钮
            {
                e.Cancel = true;
            }
            
                       
如果 CarMain不是主窗口,那么调用 ExitThread 函数或是调用 Environment.Exit。

见:http://msdn.microsoft.com/zh-cn/library/ms157894(v=vs.110).aspx
小风爱小灰0328
2014-08-18 · 超过63用户采纳过TA的回答
知道答主
回答量:119
采纳率:100%
帮助的人:56.3万
展开全部
//点击注销按钮事件里面写:if (MessageBox.Show("您确定要注销登录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Application.Exit(); System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location); }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-08-20
展开全部
去掉 Application.Exit();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式