0

有没有办法检测到这一点?

想象一下,您将有一个应用程序正在做某事,并且有一个 Backgroundthread 正在监听并等待鼠标移动 - (无论多远):

Left
Right
Left
Right
Left
Right
Left
Right
Left
Right

触发触发器或调用特定方法。

有任何想法吗?

4

3 回答 3

2

看不到,从提供的问题的角度来看,为此使用另一个线程。只需监听MouseMove事件,然后检测鼠标移动方向。

您可以通过减去事件处理程序本身接收的坐标来做到这一点。

这里的事情涉及到您将在检测算法中拥有的容差决定。

为了更清楚:

如果值的差异X大于(比方说)1,则算作向右移动,如果小于则-1算作向左移动。

像这样的东西。

于 2012-10-08T14:38:03.420 回答
2

获取鼠标指针的当前位置。移动到新位置。如果新位置的 X 坐标小于前一个位置的 X 坐标,则表示鼠标已向左移动。向右移动类似。每次新的位置都会成为基础位置。您可以保留一个计数器,如果计数为 5,则随心所欲。

于 2012-10-08T14:39:52.653 回答
1

使用附加到窗口的 MouseMove 事件。每次触发时存储鼠标位置,并将当前位置与上次位置进行比较,以确定您是向左、向右还是全部移动(即向上或向下)。

于 2012-10-08T14:36:55.160 回答