DataGridView垂直滚动条没有正确更新(Forms bug?)

Ret*_*zan 17 .net datagridview scrollbar

我在.NET 3.5中遇到过一个错误(我假设).使用Rows.Add()向DataGridView添加行时,如果禁用DGV,则垂直滚动条无法正确更新.因此,在重新启用DGV后,无法使用滚动条或鼠标滚轮一直滚动到DGV的底部(尽管使用箭头键导航仍然有效.)

所以我正在寻找一种解决方法.有没有办法强制滚动条更新其边界,还是可以手动输入新的最大值?我宁愿不必重新填充DGV.

*)实际上,它是被禁用的父表单,但我认为问题是它传播到DGV控件.

Myl*_*don 21

这也解决了我的问题:

DataGridView.SuspendLayout();
DataGridView.ResumeLayout();
Run Code Online (Sandbox Code Playgroud)

可以在重新启用DGV之前调用它.


更新:这也做了工作:

DataGridView.PerformLayout();
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案.也帮助了我.谢谢! (2认同)

小智 14

我刚刚遇到这个问题(我的表单在添加行时被禁用)并通过在添加行之前将网格的滚动条属性设置为"无"来解决它,然后在添加所有行之后将其设置回"两者" .