无法保持DataGridView列的大小调整

时间:2014-08-26 17:48:28

标签: vb.net datagridview resize

我有一个继承自具有9列的DataGridView的类。我已将这些列设置为固定长度,但当我手动调整容器大小时,其中一个(索引5)会自动调整宽度。

所有其他列都按预期工作,我在创建它时也试图锁定此列。

        Dim column5 As DGVTextBoxColumn = _
            .AddTextBoxColumn(5, "Contact", "Contact", _colNameWidth)
        '   HIGH: This cell keeps resizing no matter what I seem to do.
        column5.AutoSizeMode = DataGridViewAutoSizeColumnMode.None
        column5.Resizable = DataGridViewTriState.False

将Resizable设置为False,将AutoSizeMode设置为None,列没有做任何事情。由于这是其他人多年前编写的代码,因此我认为可能已将其设置为在代码中的其他位置调整大小。我搜索过,但找不到它。最后,我向Resize添加了一个事件,该事件将为该行调整大小。

Private Sub WorklistGrid_Resize(sender As System.Object, e As System.EventArgs) Handles MyBase.Resize
    If (Not _columnsLocked AndAlso Me.Columns.Count > 6) Then
        Me.Columns(5).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
        Me.Columns(5).Resizable = DataGridViewTriState.False
    End If
End Sub

我已经确认当我尝试调整DataGridView的大小时会调用它,但是有问题的列仍会被调整大小。为了安全起见,我还在此方法中创建了一个For Next循环,并将所有列设置为无效。

我必须忽略一些明显的东西;可能正在玩错误的财产。任何人都可以开导我吗?感谢。

0 个答案:

没有答案