使用一个滚动条来控制两个DataGridView

时间:2012-11-05 09:52:34

标签: c# winforms datagridview scrollbar

我试图控制两个DataGridView,只有一个DataGridView垂直滚动条可见。

3 个答案:

答案 0 :(得分:5)

protected void grid1_Scroll(object sender, ScrollEventArgs e)
{
    grid2.VerticallScrollBar.Value = e.NewValue;
}

答案 1 :(得分:1)

如果两个DataGridView控件的行数相等,则可以执行以下操作。我正在用它来并排比较两个SQL结果集。

在两个控件上设置Scroll事件处理程序。

private void DataGridView1_Scroll(object sender, ScrollEventArgs e)
{
    DataGridView2.FirstDisplayedScrollingRowIndex =
        DataGridView1.FirstDisplayedScrollingRowIndex;
}

private void DataGridView2_Scroll(object sender, ScrollEventArgs e)
{
    DataGridView1.FirstDisplayedScrollingRowIndex =
        DataGridView2.FirstDisplayedScrollingRowIndex;
}

答案 2 :(得分:0)

在Form.Load()中:

Grid1.Scroll += (s, ev) => Grid2.VerticalScrollBar.Value = Grid1.VerticalScrollBar.Value;

编辑:我们无法像我最初建议的那样分配Grid2.VerticalScrollingOffset,因为它是一个ReadOnly属性。