簡體   English   中英

獲取鼠標移動的距離

[英]Get the distance of mouse movement

我有一個表格,里面有一個叫做Player的小Panel 如何將面板“鏈接”到用戶的鼠標,以便隨鼠標移動而移動?

我已經訂閱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(); 或類似的方法,但是如果沒有自動化的方法,至少還有更好的方法嗎?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM