有沒有辦法檢測到這種情況?C#檢測鼠標向左移動5次並向右移動5次
想象一下,你將有你在哪裏做東西和存在被監聽,等待,直到將鼠標移動的Backgroundthread的應用 - (不管多遠):
Left
Right
Left
Right
Left
Right
Left
Right
Left
Right
哪個火災觸發器或調用特定的方法。
任何想法?
有沒有辦法檢測到這種情況?C#檢測鼠標向左移動5次並向右移動5次
想象一下,你將有你在哪裏做東西和存在被監聽,等待,直到將鼠標移動的Backgroundthread的應用 - (不管多遠):
Left
Right
Left
Right
Left
Right
Left
Right
Left
Right
哪個火災觸發器或調用特定的方法。
任何想法?
從問題提供的角度看不到,爲此使用另一個線程。 只要在事件whatvere聽,並且檢測鼠標移動方向。
您可以通過減去由事件處理程序本身接收的corrdinates來實現。
這裏的東西來決定tollerance你將有檢測算法。
更清楚:
如果X
值的差異較大,然後(比方說)1
,計算爲移動到權,如果小於-1
,算上,像招留下。
就是這樣。
使用附加到您窗口的MouseMove事件。每次觸發時存儲鼠標位置,並將當前位置與最後位置進行比較,以確定您是左移,右移還是非全部移動(即上移或下移)。
獲取鼠標指針的當前位置。移至新位置。如果新位置的X座標小於先前位置的X座標,則表示鼠標向左移動。相似的移動權。每次新的職位都將成爲基礎職位。你可以保留一個計數器,如果計數是5,可以做任何你想要的。
是的,你談論winforms? –
不管winforms或wpf等等..應該是相等的 – eMi
使用全局鼠標鉤子在這裏描述http://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in- C如果你的應用程序運行在後臺或隱藏窗口。 – DanielB