同步两个DataGridViews的水平滚动事件

时间:2014-06-28 12:16:36

标签: c# .net winforms datagridview sync

我需要同步两个DataGridView控件的滚动事件,这样当我水平滚动第一个DGV时,第二个DGV也应该以相同的方式滚动。

有可能吗?这可以在设计时设置吗?

1 个答案:

答案 0 :(得分:4)

这可以在代码中完成,如下所示。您可能正在寻找一种C#方式。但以下是我在VB.NET应用程序中使用的代码。只需将其转换为C#;)

对于第一个网格写...

Private Sub DataGridView1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles DataGridView1.Scroll

        If e.ScrollOrientation = ScrollOrientation.VerticalScroll Then Exit Sub
        If Me.DataGridView2.Rows.Count > 0 And Me.DataGridView1.Rows.Count > 0 Then
            Me.DataGridView2.HorizontalScrollingOffset = e.NewValue 'Me.DataGridView1.HorizontalScrollingOffset
        End If

End Sub

对于第二个网格写...

Private Sub DataGridView2_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles DataGridView2.Scroll

        If e.ScrollOrientation = ScrollOrientation.VerticalScroll Then Exit Sub
        If Me.DataGridView1.Rows.Count > 0 And Me.DataGridView2.Rows.Count > 0 Then
            Me.DataGridView1.HorizontalScrollingOffset = e.NewValue 'Me.DataGridView2.HorizontalScrollingOffset
        End If

End Sub

希望这有帮助吗?