C#禁止双击标题栏等操作

最简单方法:取消标题栏,设置属性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代码不起作用可以断点去看看数值然后更改即可