MouseWheel事件不以120为增量滚动

时间:2012-06-17 22:44:47

标签: c# winforms events mouseevent

我已将MouseWheel事件连接到我的某个控件,但我发现e.Delta并不总是120的倍数,特别是当我滚动很多时。我得到的数字如“131”和“-394”。

为什么?我该如何解决?这导致我的程序出现问题,其中数字(除以120)与勾选的实际凹槽数量无关。

1 个答案:

答案 0 :(得分:5)

显然你不能再依赖于delta 120了。 Here's a post about the same issue

MSDN says

  

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