找回密码
 立即注册

QQ登录

只需一步,快速开始

ljbpro

论坛元老

6

主题

19

帖子

5218

积分

论坛元老

积分
5218

活字格认证

ljbpro
论坛元老   /  发表于:2014-5-26 20:47  /   查看:5805  /  回复:1
现在软件要从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统一起来?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

1 个回复

倒序浏览
dafo
版主   /  发表于:2014-5-27 10:21:00
沙发
从逻辑上看。
GcMultiRow 7.0的滚动策略是正确的,这个应该是MultiRow 4.0的Bug。
点击空白处是一个按页滚动的策略,将会把最后一个显示不全或没有显示的列/行滚动到开始位置。
Solution:
你能在GcMultiRow.Scroll事件中自定义自己的滚动量,来匹配MultiRow4的滚动策略。
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.gcMultiRow1.Scroll += gcMultiRow1_Scroll;
  4.         }
  5.         void gcMultiRow1_Scroll(object sender, ScrollEventArgs e)
  6.         {
  7.             if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
  8.             {
  9.                 if (e.Type == ScrollEventType.LargeIncrement)
  10.                 {
  11.                     e.NewValue = e.OldValue + 10;//Calcuate your offset value.
  12.                 }
  13.             }
  14.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部