最简单方法:取消标题栏,设置属性formborderstyle为none;
代码方法:
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x112)
{
switch ((int)m.WParam)
{
//禁止双击标题栏关闭窗体
case 0xF063:
case 0xF093:
m.WParam = IntPtr.Zero;
break;
//禁止拖拽标题栏还原窗体
case 0xF012:
case 0xF010:
m.WParam = IntPtr.Zero;
break;
//禁止双击标题栏
case 0xf032:
m.WParam = IntPtr.Zero;
break;
//禁止关闭按钮
case 0xF060:
m.WParam = IntPtr.Zero;
break;
//禁止最大化按钮
case 0xf020:
m.WParam = IntPtr.Zero;
break;
//禁止最小化按钮
case 0xf030:
m.WParam = IntPtr.Zero;
break;
//禁止还原按钮
case 0xf120:
m.WParam = IntPtr.Zero;
break;
}
}
base.WndProc(ref m);
}
源代码参考的 https://www.cnblogs.com/lxblog/p/3179589.html,可能因系统或硬件原因,有些数值不对应,比如我双击标题栏断点是0xf032: 原文是
0xf122:,所以如果copy代码不起作用可以断点去看看数值然后更改即可