c# 控制窗体不能移动
我知道了一种办法不能让窗体移动,可是窗体显示的位置又改变了,怎么样才能更好的控制窗体不能移动呢,就是锁定窗体
先记录location,再在LocationChanged或move事件里把记录下的值再给location
private Point point;
private void Form1_Load(object sender, EventArgs e)
{
point = this.Location;
}
private void Form1_Move(object sender, EventArgs e)
{
this.Location = point;
}
这种方法不好啊,
------解决方案--------------------
重写窗口 WndProc 方法
C# code
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x00A1 && m.WParam.ToInt32() == 2)
{
m.Msg = 0x0201;
m.LParam = IntPtr.Zero;
}
base.WndProc(ref m);
}