I am trying to control two DataGridView's with only one of the DataGridView vertical scroll bars being visible.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
protected void grid1_Scroll(object sender, ScrollEventArgs e)
{
grid2.VerticallScrollBar.Value = e.NewValue;
}
回答2:
If both DataGridView controls have equal number of rows, you can do the following. I am using this to compare two SQL resultsets side by side.
Set Scroll event handlers on both controls.
private void DataGridView1_Scroll(object sender, ScrollEventArgs e)
{
DataGridView2.FirstDisplayedScrollingRowIndex =
DataGridView1.FirstDisplayedScrollingRowIndex;
}
private void DataGridView2_Scroll(object sender, ScrollEventArgs e)
{
DataGridView1.FirstDisplayedScrollingRowIndex =
DataGridView2.FirstDisplayedScrollingRowIndex;
}
回答3:
In Form.Load():
Grid1.Scroll += (s, ev) => Grid2.VerticalScrollBar.Value = Grid1.VerticalScrollBar.Value;
Edit: We can't assign Grid2.VerticalScrollingOffset as I had originally suggested, as it's a ReadOnly property.