winform项目为了美观通常会把窗体的边框隐藏掉,然后再用一个panel当作标题栏,但这样用户就无法拖动窗体的位置了,这个问题可以用MouseMove和MouseDown事件解决。代码如下
private Point mPoint;
private void topPanel_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Location = new Point(this.Location.X + e.X - mPoint.X, this.Location.Y + e.Y - mPoint.Y);
}
}
private void topPanel_MouseDown(object sender, MouseEventArgs e)
{
mPoint = new Point(e.X, e.Y);
}
这样就可以拖动窗体了