首页 WinForm/WPF Winform关闭窗体的时候提示两次才关闭

Winform关闭窗体的时候提示两次才关闭

作者:胡同里的砖头 围观群众:868 更新于:2013-12-19

在winform程序开发时,当用户点击窗体上的“关闭”按钮时,希望实现退出整个应用程序的功能。

我一开始使用如下的代码实现,确认框总要出现两次:

 

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("您确认要退出吗?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                  Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }

        }

 

从网上搜了一下,主要有以下两种解决方法:

方法一:添加一句this.Dispose();

 

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("您确认要退出吗?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {

       this.Dispose();
                  Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }

        }

方法二:不处理FormClosing事件,变为重写OnClosing方法

protected override void OnClosing(CancelEventArgs e)
        {
            if (MessageBox.Show("您确认要退出吗?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                    Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }
            base.OnClosing(e);
        }

 

此外,窗体上的“退出”按钮,可以这样处理其Click事件:

 private void button1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("您确认要退出吗?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                this.Dispose();
                Application.Exit();               
            }
        }

  • 本文标题: Winform关闭窗体的时候提示两次才关闭
  • 文章分类:【WinForm/WPF】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8