方法一: 窗体或者控件的拖动
private Point m_MousePoint;
private Point m_LastPoint;
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
this.m_LastPoint = this.Location;
this.m_MousePoint = this.PointToScreen(e.Location);
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (e.Button == MouseButtons.Left)
{
Point t = this.PointToScreen(e.Location);
Point l = this.m_LastPoint;
l.Offset(t.X - this.m_MousePoint.X, t.Y - this.m_MousePoint.Y);
this.Location = l;
}
}
1 代码直接复制到窗体上就可以使用.
2 可以用到UserControl上,UserControl就成了一个可拖动的控件了
3 可以用到自定义控件上,例如:自定义控件继承了一个Button ,然后写上上面代码,那么这个自定义Button就可以在Form窗体上随处拖动....
方法