C#阻止窗体关闭的方法

来源:互联网 发布:个股数据查询 编辑:程序博客网 时间:2024/05/26 09:56


有时候 我们往往需要在用户点击关闭窗体(或窗体的关闭事件产生)时,对一些变量进行判断,如果存在问题则使用弹出对话框的形式来警告和询问用户,让使用确定是否关闭。用以下几个方法可以实现:

 

1、窗体关闭事件的重截法

 //重截窗体的OnClosing方法        protected override void OnClosing(CancelEventArgs e)        {            DialogResult result = MessageBox.Show("确定要退出吗?", "信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question);            if (result == DialogResult.No)            {                e.Cancel = true; //取消关闭操作            }        }


2、使用窗体本事提供的FormClosing事件 

 private void Form2_FormClosing(object sender, FormClosingEventArgs e)        {            DialogResult drClose = MessageBox.Show("您确认退出吗?", "退出系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);            if (drClose == DialogResult.Cancel)                e.Cancel = true;        }