关于C# Windows窗体应用不推荐使用Application.Exit()
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("确定要关闭吗","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
if (result==DialogResult.Yes)
{
Application.Exit();
}
else
{
e.Cancel = true;
}
}
使用Application.Exit()代码实现关闭程序,需要执行两次才能关闭。第一次选择是,只是终止了它的循环,第二次可以任意选择按钮都可以关闭
代码解决方案:需要人工干预,需要多一些语句,所以不是很推荐
public bool flag=true;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (flag)
{
DialogResult result = MessageBox.Show("确定要关闭吗", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
flag = false;
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}
我个人推荐使用Application.ExitThread();来关闭程序,只在原来的基础上多了一个Thread,也是很容易记住的,也没有那么复杂。
新手一个,解释的不好勿喷