在做画面程序的时候,经常用到控件验证事件,当光标在控件中时, 点击画面关闭按钮时仍会触发验证事件,要想在点击画面关闭按钮时不触发控件的验证事件,就需要捕获窗口关闭消息,然后再设置AutoValidate属性,代码示例如下:
protected override void WndProc(ref Message m)
{
if(m.Msg==0x0010||m.Msg==0x0011||m.Msg==0x0016)
{
this.AutoValidate=AutoValidate.Disable;
}
base.WndProc(ref m);
}
0x0010 Win32Msg.WM_CLOSE
0x0011 Win32Msg.WM_QUERYENDSESSION
0x0016 Win32Msg.WM_ENDSESSION