const int WM_SYSCOMMAND = 0x112;
//窗体关闭消息
const int SC_CLOSE = 0xf060;
//窗体最小化消息
const int SC_MINIMIZE = 0xf020;
//窗体最大化消息
const int SC_MAXIMIZE = 0xf030;
//窗体还原消息
const int SC_NOMAL = 0xf120;
//窗体还原消息
const int SC_RESTORE = 61728;

//窗体按钮的拦截函数
protected override void WndProc(ref Message m)
{

if (m.Msg == WM_SYSCOMMAND)
{
//If m.WParam.ToInt32() = SC_RESTORE Then
// '拦截还原按钮
// Exit Sub
//End If

if (m.WParam.ToInt32() == SC_NOMAL)
{
//拦截还原按钮

return;
}
//if (m.WParam.ToInt32() == SC_MINIMIZE)
//{
// //拦截最小化按钮
// //这里写操作代码

// return;
//}
if (m.WParam.ToInt32() == SC_MAXIMIZE)
{
//拦截窗体最大化按钮
//.....................

return;
}


//窗体关闭消息
if (m.WParam.ToInt32() == SC_CLOSE)
{
if (MessageBox.Show("您确认要退出吗?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
System.Environment.Exit(System.Environment.ExitCode);
}
else
{
return;
}

}
}
base.WndProc(ref m);

}


}

  

posted on 2020-08-28 02:11  itprobie-菜鸟程序员  阅读(322)  评论(0编辑  收藏  举报