C# 面板滚动重置中的DataGridView
我的问题与以下问题完全相同: 每次我在C# 面板滚动重置中的DataGridView,c#,winforms,datagridview,scrollbar,panel,C#,Winforms,Datagridview,Scrollbar,Panel,我的问题与以下问题完全相同: 每次我在DataGridView中编辑单元格时,父面板都会重置其滚动条。当DataGridView中的选择更改时,也会发生这种情况。一、 但是,需要保留面板,因为我有两个datagridview,并且希望能够滚动浏览这两个视图 通过收听面板的Scroll事件,跟踪滚动条的值,并在datagridview上的SelectionChange和CellEndEdit事件中重新应用这些值,我已经设法缓解了一些问题,然而,这感觉不是一个很好的解决方案,它会使屏幕抖动,因为滚
DataGridView
中编辑单元格时,父面板都会重置其滚动条。当DataGridView
中的选择更改时,也会发生这种情况。一、 但是,需要保留面板,因为我有两个datagridview
,并且希望能够滚动浏览这两个视图
通过收听面板的
Scroll
事件,跟踪滚动条的值,并在datagridview
上的SelectionChange
和CellEndEdit
事件中重新应用这些值,我已经设法缓解了一些问题,然而,这感觉不是一个很好的解决方案,它会使屏幕抖动,因为滚动变为0,然后又回到我设置的值。有谁能给我指出一个更好的方向,或者知道一种阻止面板重置滚动条的方法吗?我在这里找到了一种解决方法:
通过覆盖ScrollToControl
并返回this.DisplayRectangle.Location
它修复了我的滚动问题
protected override Point ScrollToControl(Control activeControl)
{
return this.DisplayRectangle.Location;
}
我在这里找到了一个可行的解决方法: 通过覆盖
ScrollToControl
并返回this.DisplayRectangle.Location
它修复了我的滚动问题
protected override Point ScrollToControl(Control activeControl)
{
return this.DisplayRectangle.Location;
}
我错过什么了吗?这个问题不清楚吗?难道这根本不可能吗?我错过了什么吗?这个问题不清楚吗?难道这根本不可能吗?