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

use*_*690 3 .net c# datagridview sync winforms

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

可能吗?可以在设计时设定吗?

CAD*_*CAD 5

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

对于First Grid编写...

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
Run Code Online (Sandbox Code Playgroud)

对于Second Grid写...

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
Run Code Online (Sandbox Code Playgroud)

希望这有帮助吗?