关于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,也是很容易记住的,也没有那么复杂。

新手一个,解释的不好勿喷

相关文章:

  • 2021-10-16
  • 2021-12-21
  • 2021-12-20
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2021-12-04
  • 2021-12-03
猜你喜欢
  • 2021-07-31
  • 2021-07-31
  • 2021-04-25
  • 2021-12-15
  • 2021-09-03
  • 2021-12-31
  • 2022-12-23
相关资源
相似解决方案