DataGridView(Form)包含足够的行,显示垂直滚动条。但它没有启用。缺少运动的Silder,按钮向上和按钮向下显示为灰色。
=>有一个垂直滚动条但没有启用。
我试过了:
如果我在运行时调整Control的大小(DataGridView在Splitpanel上),可以使用Scrollbar,例如现在已启用。
答案 0 :(得分:7)
试试这个:
1。您的某个列可能已冻结属性设置为True
。
所有列都应为False
。
<强> 2 强> 将有问题列的AutoSizeMode设置为AllCells
3. mygrid.DockStyle = DockStyle.Fill
答案 1 :(得分:1)
设置datagridview的ScrollBar属性为Both。
答案 2 :(得分:1)
同样的问题加上一些解决方法可以在这里找到:
DataGridView vertical scrollbar not updating properly (Forms bug?)
它似乎肯定是一个出现的winforms错误,例如当DGV放在tabcontrol的标签内时。
答案 3 :(得分:1)
如果您之前设置了冻结的行,则添加的行将采用第一行的默认样式,并且所有gridview行都将具有选项row.frozen = true
。这就是垂直滚动不会出现的原因。
答案 4 :(得分:0)
我的水平滚动条有类似的问题。
在网格上执行PerformLayout
并没有解决它。
事实证明,我的问题是表单被禁用。
我们有一个基础结构,可以在加载时禁用表单,异步加载一堆东西,最后启用表单。
出于某种原因,这足以让滚动条在启用表单时保持禁用状态(就像您的方案在运行时调整表单大小启用滚动条一样)。
所以对我来说,解决方案是在启用表单后在网格上调用PerformLayout
。