鼠标滚轮事件不以 120 为增量滚动

本文关键字:滚动 事件 鼠标 | 更新日期: 2023-09-27 18:37:25

我已经将鼠标滚轮事件连接到我的一个控件,但我发现e.Delta并不总是 120 的倍数,尤其是当我滚动很多时。我得到像"131"和"-394"这样的数字。

这是为什么呢?我该如何解决它?这导致了我的程序出现问题,其中数字(除以 120)与实际勾选的缺口数量不相关。

鼠标滚轮事件不以 120 为增量滚动

显然你不能

再依赖 delta 是 120。这是一篇关于同一问题的帖子。

MSDN 说:

增量设置为 120,以允许Microsoft或其他供应商构建分辨率更高的轮子(没有凹口的自由旋转轮),以便每次旋转发送更多消息,但每条消息中的值较小。若要使用此功能,可以添加传入的增量值,直到达到WHEEL_DELTA(因此对于增量旋转,您将获得相同的响应),或者滚动部分行以响应更频繁的消息。您还可以选择滚动粒度并累积增量,直到达到它。