现在的位置: 首页 > 综合 > 正文

C#中禁止Winform窗体关闭

2013年09月19日 ⁄ 综合 ⁄ 共 384字 ⁄ 字号 评论关闭

在winform中,常常会控制一些关键界面不能让用户关闭,怎么做比较好呢?

在系统中默认是不能够禁用窗体的关闭功能,但是,有时我们需要这种功能来屏蔽用户"随便"或不小心关闭造成的系统问题。 

其实方法很简便,只要将以下一段代码添加到窗体累中就可以实现禁止窗体关闭


protected override void WndProc(ref   Message m)
 {
const int WM_SYSCOMMAND = 0x0112;

const int SC_CLOSE = 0xF060;


if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
{
return;
}
base.WndProc(ref m);
}

该方法让窗体的关闭按钮还是存在的,但是,鼠标操作关闭按钮是不响应的。这种方法可以确保万无一失。


以上代码经本人测试通过,测试环境:VS2010+Win7+X86。

抱歉!评论已关闭.