For c = 0 To grd.Columns.Count - 1 grd.Columns(c).Resizable = DataGridViewTriState.True Next c
这允许我的DataGridView中的所有列都可以调整大小,除了最后一列。为什么? 我 DO 获得可调整大小的鼠标指针...但您只能将列 SMALLER ,而不是 WIDER 。
(如果我尝试使用VB.net IDE将所有列设置为Resizable,则同样的问题)
我在这里做错了什么?我不应该能够调整我想要的 ANY 列,更大还是更小?
答案 0 :(得分:0)
您无法使 last 列更宽,因为它已经填充了控件中的所有可用空间!
与中间的其他列不同,它只是从列向右偷取空间,最后一列右侧没有列可以从中偷取空间。由于它无处可去,因此控件只会阻止您调整最后一列的大小。
答案 1 :(得分:0)
我遇到了同样的问题 - 我无法调整DataGridView中的最后一列(可调整大小的属性设置为'True')。我已将'填充模式'设置为'显示的单元格'。当我将该设置更改为“未设置”时,我通常可以调整最后一列的大小。
答案 2 :(得分:0)
您可能想要的是让用户调整最后一列的左边缘的大小,而不能调整最后一列的右边缘的大小。
一个选项是将最后一列的AutoSizeMode设置为“填充”,将其他列设置为其他模式,例如“未设置”。这样做可以使您在调整倒数第二列的右边缘大小时,最后一列的左边缘将自动填充该空间。
答案 3 :(得分:-1)
为什么不添加一个设置为零宽度的额外列,以便用户可以调整您真正想显示的最后一个列的大小?我知道这有点麻烦!如果您在意,您可能可以将额外零长度单元格的resizable属性= false设置为不允许调整大小。 该方法对我来说不合适。需要将最后一个字段绑定到某些东西,否则将其之前的字段(这是我添加伪造的字段之前的最后一列)进行绑定。< / p>
对我来说,问题是由于我在建议创建多列文本框的修复程序中将最后一列的AutoSizeMode属性更改为AllCells (这是一个DataGridViewTextBoxColumn)而引起的。但这并不能按照我需要的方式工作,因此我做了另一种方式(通过创建动态文本框并将其放在我想要的位置,但离开了AutoSizeMode = AllCells。
当我在“最后一列”上设置AutroSizeMode = NotSet时,DataGridView允许用户立即调整最后一列的大小!