C#点击关闭按钮 弹出询问是否关闭,但我点了是之后又弹出这个询问,要再点次才能关闭,是为什么

private void Form4_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确实要退出系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Application.Exit();
}
else
{
e.Cancel = true;
}
}

这是代码

第1个回答  2013-02-19
将上面的代码改成这样就可以了:
private void Form4_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确实要退出系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{

}
else
{
e.Cancel = true;
}
}
就是去掉Application.Exit();这个方法!因为VS默认如果不选的话就是同时关闭程序和窗体,就像单击关闭按钮呀!!
或者推荐个更简洁的!代码如下(因为if为DialogResult.Yes的时候没有执行任何代码)

private void Form4_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确实要退出系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
e.Cancel = true;
}

这样也能完成指定功能!!
小弟才疏学浅!!文库分值不高!!还望大侠测试通过给分呀!!
第2个回答  2012-08-03
Application.Exit();
出现在这个代码上面!你直接关闭窗体不久是了

用close追问

用close点的次数更多。我有多个窗体 有隐藏窗体存在,所以想关闭程序。

追答

那你直接选择结束该程序的进程吧!最简单

追问

这不是想弄个询问嘛 直接结束是没有问题的,弄个询问的就出现上面的问题了

追答

询问之后 选择关闭的话就结束

本回答被提问者采纳
第3个回答  2013-03-11
其实在Application.Exit();前面加个this.Dispose();就可以了。
相似回答
大家正在搜