有没有办法检测到这一点?
想象一下,您将有一个应用程序正在做某事,并且有一个 Backgroundthread 正在监听并等待鼠标移动 - (无论多远):
Left
Right
Left
Right
Left
Right
Left
Right
Left
Right
触发触发器或调用特定方法。
有任何想法吗?
看不到,从提供的问题的角度来看,为此使用另一个线程。只需监听MouseMove
事件,然后检测鼠标移动方向。
您可以通过减去事件处理程序本身接收的坐标来做到这一点。
这里的事情涉及到您将在检测算法中拥有的容差决定。
为了更清楚:
如果值的差异X
大于(比方说)1
,则算作向右移动,如果小于则-1
算作向左移动。
像这样的东西。
获取鼠标指针的当前位置。移动到新位置。如果新位置的 X 坐标小于前一个位置的 X 坐标,则表示鼠标已向左移动。向右移动类似。每次新的位置都会成为基础位置。您可以保留一个计数器,如果计数为 5,则随心所欲。
使用附加到窗口的 MouseMove 事件。每次触发时存储鼠标位置,并将当前位置与上次位置进行比较,以确定您是向左、向右还是全部移动(即向上或向下)。