我的问题与:
完全相同Problem with DataGridView and scroll position
每当我编辑DataGridView
中的单元格时,父面板会重置其滚动条。当DataGridView
中的选择发生变化时,也会发生这种情况。但是,我需要保留面板,因为我有两个DataGridViews
,并希望能够滚动它们。
通过收听面板的Scroll
事件,跟踪滚动条的值,并在SelectionChange
和{{1}中重新应用这些值,我设法解决了一些问题CellEndEdit
上的事件,但这不是一个非常好的解决方案,它会使屏幕抖动,因为滚动更改为0,然后返回到我设置它的值。任何人都可以向我指出一个更好的方向,或者知道一种阻止Panel重置其滚动条的方法吗?
答案 0 :(得分:4)
我找到了一个可行的解决方法:
通过覆盖ScrollToControl
并返回this.DisplayRectangle.Location
,修复了我遇到的滚动问题。
protected override Point ScrollToControl(Control activeControl)
{
return this.DisplayRectangle.Location;
}