2

我有一个表格,里面有一个小的PanelPlayer. 如何将面板“链接”到用户的鼠标,以便它会随着鼠标的移动而移动?

我已经订阅Player_MouseMovePlayer.MouseMove事件,但我不知道鼠标实际移动了多少。我能想出的唯一方法就是有这样一个:

private Point previousLocation;

private void Player_MouseMove(object sender, MouseEventArgs e)
{
    int differenceX, differenceY;
    differenceX = e.X - previousLocation.X;
    differenceY = e.Y - previousLocation.Y;
    previousLocation = e.Location;
}

这似乎很愚蠢,有一个额外的变量并每次都计算差异。完美的方式就像Player.LinkToCursor();这样,但如果没有自动化的方式,至少有更好的方式吗?

4

1 回答 1

6

查看http://msdn.microsoft.com/en-us/library/system.windows.forms.mouseeventargs.aspx我看不到任何可以帮助您更好地完成这项工作的东西。

但是,您可以做一件事:

Point difference = e.Location - (Size)previousLocation;

向量算术;)

于 2013-02-18T16:40:56.613 回答