在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);
}
該方法讓窗體的關閉按鈕還是存在的,但是,鼠標操作關閉按鈕是不響應的。這種方法可以確保萬無一失。