首先需要给需要移动的位置添加一个鼠标按下(MouseDown)和鼠标移动(MouseMove)时触发的事件,我这用的是panel控件
//声明一个Point变量用于储存鼠标按下的位置
private Point mPoint;
//鼠标按下位置
private void topPanel_MouseDown(object sender, MouseEventArgs e)
{
//当鼠标按下时,将新的位置储存到变量当中
mPoint = new Point(e.X, e.Y);
}
//鼠标移动事件
private void topPanel_MouseMove(object sender, MouseEventArgs e)
{
//计算鼠标移动的距离给出新的位置
//如果鼠标按下左键时
if (e.Button == MouseButtons.Left)
{
this.Location = new Point(this.Location.X + e.X, this.Location.Y + e.Y - mPoint.Y);
}
}