【问题标题】:DataGridView resizeable columns, but last column can't be resized bigger?DataGridView 可调整大小的列,但最后一列不能调整大?
【发布时间】:2011-08-22 12:32:44
【问题描述】:
对于 c = 0 到 grd.Columns.Count - 1 grd.Columns(c).Resizable = DataGridViewTriState.True 下一个 c

这允许我的 DataGridView 中的所有列都可以调整大小,除了最后一列。为什么? 我确实得到了可调整大小的小鼠标指针...但是您只能使列SMALLER,永远不能WIDER

(如果我尝试使用 VB.net IDE 将所有列设置为 Resizable,也会出现同样的问题)

我在这里做错了什么?我是否应该能够调整我想要的 ANY 列的大小,更大或更小?

【问题讨论】:

    标签: .net vb.net winforms datagridview datagridviewcolumn


    【解决方案1】:

    您不能使 last 列更宽,因为它已经填满了控件中的所有可用空间!

    与中间的其他列不同,它们只是从右侧的列中窃取空间,最后一列的右侧没有列可以从中窃取空间。由于它无处可去,因此该控件只会阻止您调整最后一列的大小。

    【讨论】:

    • 我们见过的所有其他网格...您只需抓住 ANY 列标题(包括最后一个)...然后向右滑动。我们不是试图使 GRID 更宽...或使列范围超出网格的 WIDTH .... 只是试图使 COLUMN 更宽。我认为这就是为什么底部有一个水平滚动条的原因。没有?
    【解决方案2】:

    我遇到了同样的问题 - 我无法调整 DataGridView 中最后一列的大小(resizable 属性设置为“True”)。我已将“填充模式”设置为“显示的单元格”。当我将该设置更改为“未设置”时,我通常可以调整最后一列的大小。

    【讨论】:

    • 我认为你错过了最后一列无法调整到更大尺寸的点,因为网格控件本身就在那里结束并且没有可用空间来调整它的大小。
    【解决方案3】:

    为什么不添加一个设置为宽度为零的额外列,以便用户可以调整您真正想要显示的最后一个列的大小?我知道这有点笨拙!如果您在意,您可能会将额外零长度单元格的 resizable 属性 = false 以不允许调整大小。 那个方法对我来说不能正常工作。需要将最后一个字段绑定到某个东西,否则它之前的字段(这是我在添加假字段之前的最后一列)不允许调整大小。

    对我来说,问题是由于我根据修复建议将最后一列的 AutoSizeMode 属性更改为 AllCells(这是一个 DataGridViewTextBoxColumn),以制作多列文本框。但这并没有按照我需要的方式工作,所以我采用了不同的方式(通过创建一个动态文本框并将其放在我想要的位置,但离开了 AutoSizeMode = AllCells。

    当我在最后一列上设置 AutroSizeMode = NotSet 时,DataGridView 允许用户现在调整最后一列的大小!

    【讨论】:

      【解决方案4】:

      您可能希望用户调整最后一列的左边缘的大小,而不是能够调整最后一列的右边缘的大小。

      一个选项是将最后一列的 AutoSizeMode 设置为“填充”,将其他列设置为其他模式,例如“未设置”。这样做可以使当您调整倒数第二列的右边缘大小时,最后一列的左边缘将自动填充该空间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-31
        • 2012-06-02
        • 2011-05-21
        • 1970-01-01
        相关资源
        最近更新 更多