ljbpro 发表于 2014-5-26 20:47:00

Multirow 7.0横向滚动条的动作

现在软件要从MultiRow 4.0升级到MultiRow 7.0,在升级的过程中碰到了下面的问题。
MultiRow 7.0横向滚动条的动作不正确。
点击滚动条的空白处,滚动条向后移动时,移动的量不相同。
请看图片。



MultiRow 4.0:
第一次点击:到达H列
第二次点击:到达P列
第三次点击:到达R列

MultiRow 7.0:
第一次点击:到达H列
第二次点击:到达M列(不正确)
第三次点击:到达R列

点击滚动条的空白处时,横向滚动条向后移动的量是由什么决定的?
MultiRow 7.0如何跟MultiRow 4.0统一起来?

dafo 发表于 2014-5-27 10:21:00

从逻辑上看。
GcMultiRow 7.0的滚动策略是正确的,这个应该是MultiRow 4.0的Bug。
点击空白处是一个按页滚动的策略,将会把最后一个显示不全或没有显示的列/行滚动到开始位置。
Solution:
你能在GcMultiRow.Scroll事件中自定义自己的滚动量,来匹配MultiRow4的滚动策略。

      private void Form1_Load(object sender, EventArgs e)
      {
            this.gcMultiRow1.Scroll += gcMultiRow1_Scroll;
      }

      void gcMultiRow1_Scroll(object sender, ScrollEventArgs e)
      {
            if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
            {
                if (e.Type == ScrollEventType.LargeIncrement)
                {
                  e.NewValue = e.OldValue + 10;//Calcuate your offset value.
                }
            }
      }
页: [1]
查看完整版本: Multirow 7.0横向滚动条的动作