zoukankan      html  css  js  c++  java
  • 解决SourceGrid在某些系统上无法用鼠标滚轮滚动的问题

    4.40版源码,找到SourceGrid/SourceGrid/Common/CustomScrollControl.cs 这个文件

    定位 CustomScrollWheel() 方法,把if条件判断去掉。或者把rotationDelta的值做相应调整也行。

    改后代码如下:

    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一次滚动是小于这个值的。

    搜不到有人记录过这个问题,随记在此,希望遇到同样问题的同学能搜到。

  • 相关阅读:
    Core Text 实现富文本显示
    音视频直播服务平台总结
    WWDC2017那些事
    Swift网络请求(Moya篇)
    [转贴]孙正耀退休感言
    不要让专业限制了你的高度
    你会搞科研吗?
    上传服务端
    AysnTask+HttpClient实现上传
    TextView改变颜色
  • 原文地址:https://www.cnblogs.com/hhh/p/5362446.html
Copyright © 2011-2022 走看看