C#关闭窗体时的事件(formClosing事件)

前言

写了一段代码,想要按窗体的 × 号时关闭页面,结果得按两次确认退出才可以。找了找原因。

formClosing事件

原代码:
C#关闭窗体时的事件(formClosing事件)_第1张图片

这里标红的代码,是显示弹框的,但本身事件就已经弹框一次了。所以会出现二次弹框的现象。
C#关闭窗体时的事件(formClosing事件)_第2张图片

修改:

		private void frmAdminMain_FormClosing_1(object sender, FormClosingEventArgs e)
        {
            if (DialogResult.OK == MessageBox.Show("你确定要退出吗?", "关闭提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
            {
                this.FormClosing -= new FormClosingEventHandler(this.frmAdminMain_FormClosing_1); //这里是  -=
                Application.Exit();  //退出进程
            }

            else
            {
                e.Cancel = true;  //取消。返回窗体
            }
        }

你可能感兴趣的:(⭐♥计算机,--------【C#,设计模式】)