如果我将DataGridView设置为:
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
dataGridView.AllowUserToAddRows = false;
dataGridView.AllowUserToResizeColumns = false;
然后设置我的列:
dataGridView.Columns["Colour"].FillWeight = 50;
dataGridView.Columns["Layer"].FillWeight = 50;
cboColumn.DefaultCellStyle.Padding = new Padding(16, 0, 16, 0);
最初看起来很棒:
我故意将鼠标放在列上调整大小并且它不允许。好!但是......
我仍然可以调整左侧列的大小,当我这样做时,我右边的画面看起来很糟糕:
所以我在这里有两个问题:
为什么我仍然可以调整第一列的大小?我不想允许它。
如果必须允许,我们可以处理上一栏问题吗?
思想?
答案 0 :(得分:2)
要修改行标题宽度并防止用户调整行标题宽度,可以使用设计器或代码将网格的RowHeadersWidthSizeMode
属性设置为DisableResizing
:
grid.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
这样,行标题的大小将是您使用数据网格视图控件的RowHeadersWidth
属性设置的固定值。
您还可以使用DataGridViewRowHeadersWidthSizeMode
枚举的自动尺寸选项。
默认情况下,用户可以调整行标题的宽度。您可以 禁用此功能以设置固定宽度,或者您可以使用 基于内容的自动调整大小模式,它也会禁用用户 大小调整。