[英]Get the distance of mouse movement
我有一個表格,里面有一個叫做Player
的小Panel
。 如何將面板“鏈接”到用戶的鼠標,以便隨鼠標移動而移動?
我已經訂閱Player_MouseMove
到Player.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();
或類似的方法,但是如果沒有自動化的方法,至少還有更好的方法嗎?
看http://msdn.microsoft.com/zh-cn/library/system.windows.forms.mouseeventargs.aspx,我看不到有什么可以幫助您更好地完成此任務的。
但是,您可以做一件事:
Point difference = e.Location - (Size)previousLocation;
矢量算術;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.