c# 统制窗体不能移动
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 方法
我知道了一种办法不能让窗体移动,可是窗体显示的位置又改变了,怎么样才能更好的控制窗体不能移动呢,就是锁定窗体
先记录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); }