6
对于 c = 0 到 grd.Columns.Count - 1
    grd.Columns(c).Resizable = DataGridViewTriState.True
下一个 c

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

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

我在这里做错了什么?我不应该能够调整我想要的任何列的大小,更大或更小吗?

4

4 回答 4

0

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

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

于 2011-05-10T14:17:02.887 回答
0

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

于 2014-01-26T07:45:49.030 回答
0

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

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

于 2019-02-12T19:42:09.853 回答
-1

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

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

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

于 2018-11-27T04:25:26.460 回答