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次? 咋样解决呢?求赐教 谢谢
} 展开
{
MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
DialogResult dr = MessageBox.Show("确定要退出吗?", "退出系统", messButton);
if (dr == DialogResult.OK)//如果点击“确定”按钮
{
Application.Exit();
}
else//如果点击“取消”按钮
{
e.Cancel = true;
return;
}
请问 哪位老师知道 为什么 关闭时 会弹出2次? 咋样解决呢?求赐教 谢谢
} 展开
3个回答
展开全部
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
展开全部
//点击注销按钮事件里面写: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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询