4.40版源码,找到SourceGrid/SourceGrid/Common/CustomScrollControl.cs 这个文件spa
定位 CustomScrollWheel() 方法,把if条件判断去掉。或者把rotationDelta的值作相应调整也行。code
改后代码以下:orm
public virtual void CustomScrollWheel(int rotationDelta) { //if (rotationDelta >= 120 || rotationDelta <= -120) //{ if (VScrollBarVisible) { Point current = CustomScrollPosition; int newY = current.Y + SystemInformation.MouseWheelScrollLines * VScrollBar.SmallChange * -Math.Sign(rotationDelta); //check that the value is between max and min if (newY < 0) newY = 0; if (newY > MaximumVScroll) newY = MaximumVScroll; CustomScrollPosition = new Point(current.X, newY); } //} }
SourceGrid为了不过于频繁的调用滚动操做,加了这个判断,但没考虑到有些鼠标的MouseWheel一次滚动是小于这个值的。blog
搜不到有人记录过这个问题,随记在此,但愿遇到一样问题的同窗能搜到。源码