我已经将 MouseWheel 事件连接到我的一个控件,但我发现它e.Delta
并不总是 120 的倍数,尤其是当我滚动它很多时。我得到像“131”和“-394”这样的数字。
为什么?我该如何解决?它导致我的程序出现问题,其中数字(除以 120)与实际的刻度数无关。
我已经将 MouseWheel 事件连接到我的一个控件,但我发现它e.Delta
并不总是 120 的倍数,尤其是当我滚动它很多时。我得到像“131”和“-394”这样的数字。
为什么?我该如何解决?它导致我的程序出现问题,其中数字(除以 120)与实际的刻度数无关。
显然你不能再依赖 delta 为 120 了。这是关于同一问题的帖子。
MSDN说:
增量设置为 120,以允许 Microsoft 或其他供应商构建更高分辨率的轮子(一个没有凹口的自由旋转轮子),以在每次旋转时发送更多消息,但每条消息中的值更小。要使用此功能,您可以添加传入的增量值,直到达到 WHEEL_DELTA(因此对于增量旋转,您会得到相同的响应),或者滚动部分行以响应更频繁的消息。您还可以选择滚动粒度并累积增量直到达到。