我想要获得一个控件,以便在用户单击并拖动控件时跟随光标。问题是:1)控制器不能进入鼠标的位置; 2)控制器闪烁并飞到了所有的地方。我尝试了一些不同的方法来做到这一点,但迄今为止都失败了。C# - 将控件移动到鼠标的位置
我已经试过:
protected override void OnMouseDown(MouseEventArgs e)
{
while (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.Location = e.Location;
}
}
和
protected override void OnMouseMove(MouseEventArgs e)
{
while (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.Location = e.Location;
}
}
但无论这些工作。任何帮助表示赞赏,并提前致谢!
我已经试过这拖的路径移动,它不会有所作为。我欣赏尽管。 – 2010-04-24 04:12:46
+1:MusiGenesis的代码对我来说就像一个魅力,但有一点修改:我创建了一个新的用户控件 - >重写三个方法OnMouseDown,OnMouseUp和OnMouseMove - >每个方法的第一行是调用基本方法,即base.OnMouseDown(e),base.OnMouseMove(e)和base.OnMouseUp(e)。 - 其余代码随着MusiGenesis讨论。 – 2010-04-24 04:41:29
非常感谢!这个新的答案就像一个魅力!我真的很感激它! – 2010-04-24 04:49:44