【问题标题】:C# DataGridView- How enable vertical scrollbarC# DataGridView - 如何启用垂直滚动条
【发布时间】:2012-05-31 11:53:44
【问题描述】:

DataGridView (Form) 包含足够的行,可以显示垂直滚动条。但它没有启用。移动的 Silder 丢失,Button Up 和 Button Down 显示为灰色。

=> 有一个垂直滚动条但未启用。

我试过了:

  1. 填充 DataGridView 后,控件会更新。
  2. 调整整个面板的大小。
  3. Frozen 属性为假。
  4. 单击单元格可以使用上下键滚动,但滚动条不会启用。

如果我在运行时调整控件的大小(DataGridView 在拆分面板上),则可以使用滚动条,例如它现在已启用。

【问题讨论】:

标签: c# .net datagridview


【解决方案1】:

试试这个:

1.您的某个列可能已冻结属性设置为True

所有列都应该是False

2. 将问题列的 AutoSizeMode 设置为 AllCells

3. mygrid.DockStyle = DockStyle.Fill

【讨论】:

  • 我仔细检查过,没有 - 我的所有列都没有冻结设置为 true。
  • 2. |是:填充|是:所有细胞 | - 就是这样,滑块已启用并且可以使用!如何和为什么?不过非常感谢
【解决方案2】:

设置datagridview的ScrollBar属性为Both。

【讨论】:

  • DataGridView 类没有称为 AutoScroll 的属性(也搜索过这个)参见:msdn.microsoft.com/en-us/library/…
  • 之前我还以为你问的是Dot net bar datagridview control。
【解决方案3】:

可以在此处找到相同的问题以及一些解决方法: DataGridView vertical scrollbar not updating properly (Forms bug?)
它肯定似乎是一个出现的 winforms 错误,例如当 DGV 放置在 tabcontrol 的选项卡内时。

【讨论】:

    【解决方案4】:
    1. 您应该将 datagridview 填充到面板中
    2. 如果您有一些冻结的行,请确保在将数据导入 gridview 后设置这些行

    如果您之前设置了冻结行,则添加的行将采用第一行的默认样式,并且您的所有 gridview 行都将具有选项row.frozen = true。这就是垂直滚动不会出现的原因。

    【讨论】:

      【解决方案5】:

      水平滚动条也有类似的问题。 在网格上做PerformLayout 并没有解决它。 事实证明,我的问题是表单被禁用。 我们有一个基础设施,它在加载时禁用表单,异步加载一堆东西,最后启用表单。 出于某种原因,这足以让滚动条在启用表单时保持禁用状态(就像在您的场景中在启用滚动条时调整表单大小一样)。 所以对我来说,解决方案是启用表单后在网格上调用PerformLayout

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-07
        • 2013-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多