winform DevExpress 左右两个pdfviewer滚动条同步滚动问题

cain-won 2017-07-05 10:52:54

如上图,在一个form里有一个SplitContainerControl控件,然后左右两边各放了一个PdfViewer。
现在的需求是:任意滚动一边的滚动条,另外一边也同步滚动。
现在遇到的问题:滚动条滚动事件不响应。需求也没有实现
我的滚动条事件函数如下:
 
private void leftViewer_Scroll(object sender, ScrollEventArgs e)
{
int a = 0;
int b = 1;
leftViewer.AutoScrollOffset = rightViewer.AutoScrollOffset;
}
private void rightViewer_Scroll(object sender, ScrollEventArgs e)
{
int a = 0;
int b = 1;
rightViewer.AutoScrollOffset = leftViewer.AutoScrollOffset;
}
...全文
660 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cain-won 2017-07-05
  • 打赏
  • 举报
回复
问题解决了再追加分,第一次发帖,大神多多帮忙
  • 打赏
  • 举报
回复
[quote=引用 7 楼 kaijkl 的回复:] [quote] 这边是15.2的,你升级一下版本。
cain-won 2017-07-05
  • 打赏
  • 举报
回复
引用 6 楼 duanzi_peng 的回复:
好几种方式呢,
1:右键控件-》属性-》事件-》找到那个事件名称 双击
2:后台在this.leftViewer.Scroll += 输入到这里的时候 连续按2次 Tab键,自动生成事件
3:自定义一个事件,类似:
void  ViewerScroll(object sender,PdfScrollPositionChangedEventArgs e)
{

}

调用:
this.leftViewer.Scroll += ViewerScroll;

4:匿名委托
this.leftViewer.Scroll +=delegate(object sender,PdfScrollPositionChangedEventArgs  e){

};

我的这个版本的devexpress就是没有PdfScrollPositionChangedEvent事件,好奇怪。。pdf的缩放,翻页事件都能够响应。
  • 打赏
  • 举报
回复
好几种方式呢, 1:右键控件-》属性-》事件-》找到那个事件名称 双击 2:后台在this.leftViewer.Scroll += 输入到这里的时候 连续按2次 Tab键,自动生成事件 3:自定义一个事件,类似:
void  ViewerScroll(object sender,PdfScrollPositionChangedEventArgs e)
{
   
}
调用:
this.leftViewer.Scroll += ViewerScroll;
4:匿名委托
this.leftViewer.Scroll +=delegate(object sender,PdfScrollPositionChangedEventArgs  e){

};
cain-won 2017-07-05
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:
[quote=引用 3 楼 kaijkl 的回复:] [quote=引用 2 楼 duanzi_peng 的回复:] 1:在各自滚动的时候取垂直偏移量,赋值给对方。 2:这样测试
private void leftViewer_Scroll(object sender, ScrollEventArgs e)
{
      rightViewer_Scroll(null,e);
}

private void rightViewer_Scroll(object sender, ScrollEventArgs e)
{
       leftViewer_Scroll(null,e);
}
谢谢你的回复,现在最大的问题是我移动滚动条不进入响应函数啊,也就是说移动滚动条没触发事件。[/quote] 官网上查都有说明: https://documentation.devexpress.com/WindowsForms/DevExpress.XtraPdfViewer.PdfViewer.ScrollPositionChanged.event[/quote] 我看了下官网,我的窗体设计器里的事件注册是这样的
this.leftViewer.Scroll += new System.Windows.Forms.ScrollEventHandler(this.leftViewer_Scroll);
,我觉得是注册的有问题,但是我要怎么注册成PdfScrollPositionChangedEventArgs 类型的,还望继续指导
  • 打赏
  • 举报
回复
引用 3 楼 kaijkl 的回复:
[quote=引用 2 楼 duanzi_peng 的回复:] 1:在各自滚动的时候取垂直偏移量,赋值给对方。 2:这样测试
private void leftViewer_Scroll(object sender, ScrollEventArgs e)
{
      rightViewer_Scroll(null,e);
}

private void rightViewer_Scroll(object sender, ScrollEventArgs e)
{
       leftViewer_Scroll(null,e);
}
谢谢你的回复,现在最大的问题是我移动滚动条不进入响应函数啊,也就是说移动滚动条没触发事件。[/quote] 官网上查都有说明: https://documentation.devexpress.com/WindowsForms/DevExpress.XtraPdfViewer.PdfViewer.ScrollPositionChanged.event
cain-won 2017-07-05
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
1:在各自滚动的时候取垂直偏移量,赋值给对方。 2:这样测试
private void leftViewer_Scroll(object sender, ScrollEventArgs e)
{
      rightViewer_Scroll(null,e);
}

private void rightViewer_Scroll(object sender, ScrollEventArgs e)
{
       leftViewer_Scroll(null,e);
}
谢谢你的回复,现在最大的问题是我移动滚动条不进入响应函数啊,也就是说移动滚动条没触发事件。
  • 打赏
  • 举报
回复
1:在各自滚动的时候取垂直偏移量,赋值给对方。 2:这样测试
private void leftViewer_Scroll(object sender, ScrollEventArgs e)
{
      rightViewer_Scroll(null,e);
}

private void rightViewer_Scroll(object sender, ScrollEventArgs e)
{
       leftViewer_Scroll(null,e);
}

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧