#region 移动窗体
int relativeX; //鼠标点下时,鼠标和窗体X轴坐标的相对位移
int relativeY; //鼠标点下时,鼠标和窗体Y轴坐标的相对位移
private void FrmHover_MouseDown(object sender, MouseEventArgs e)
{
relativeX = Control.MousePosition.X - this.Location.X;
relativeY = Control.MousePosition.Y - this.Location.Y;
tmrMove.Enabled = true;
}
private void FrmHover_MouseUp(object sender, MouseEventArgs e)
{
tmrMove.Enabled = false;
}
//时间控件的interval属性值为1
private void tmrMove_Tick(object sender, EventArgs e)
{
this.Location = new Point(Control.MousePosition.X - relativeX, Control.MousePosition.Y - relativeY);
}
int relativeX; //鼠标点下时,鼠标和窗体X轴坐标的相对位移
int relativeY; //鼠标点下时,鼠标和窗体Y轴坐标的相对位移
private void FrmHover_MouseDown(object sender, MouseEventArgs e)
{
relativeX = Control.MousePosition.X - this.Location.X;
relativeY = Control.MousePosition.Y - this.Location.Y;
tmrMove.Enabled = true;
}
private void FrmHover_MouseUp(object sender, MouseEventArgs e)
{
tmrMove.Enabled = false;
}
//时间控件的interval属性值为1
private void tmrMove_Tick(object sender, EventArgs e)
{
this.Location = new Point(Control.MousePosition.X - relativeX, Control.MousePosition.Y - relativeY);
}
#endregion
看到网上大多数使用窗体的鼠标按下、经过、释放事件写的,于是我试着用时间控件控制窗体移动,代码少了点,且容易理解一些。