两个GridControl 一左一右 横纵滚动条同步
时间: 2023-09-26 07:06:45 浏览: 81
实现两个GridControl一左一右横纵滚动条同步的方法如下:
1. 通过绑定两个GridControl的VScroll和HScroll事件,获取当前滚动条的位置。
2. 在VScroll和HScroll事件中,将获取到的滚动条位置设置到另一个GridControl中。
下面是示例代码:
```
private void gridControl1_VScroll(object sender, EventArgs e)
{
int pos = GetScrollPos(gridControl1.Handle, SB_VERT);
SetScrollPos(gridControl2.Handle, SB_VERT, pos, true);
SendMessage(gridControl2.Handle, WM_VSCROLL, (IntPtr)SB_THUMBPOSITION + 0x10000 * pos, IntPtr.Zero);
}
private void gridControl1_HScroll(object sender, EventArgs e)
{
int pos = GetScrollPos(gridControl1.Handle, SB_HORZ);
SetScrollPos(gridControl2.Handle, SB_HORZ, pos, true);
SendMessage(gridControl2.Handle, WM_HSCROLL, (IntPtr)SB_THUMBPOSITION + 0x10000 * pos, IntPtr.Zero);
}
```
需要注意的是,以上代码中使用了Win32 API函数 GetScrollPos、SetScrollPos和SendMessage,需要在代码中进行引用,同时需要在GridControl的Handle创建完成后(例如在GridControl的Load事件中)进行调用。
阅读全文