DataGridView.AutoResizeColumns忽略列标题高度

时间:2015-12-15 03:55:18

标签: c# winforms datagridview

我有DataGridView哪些列我希望调整大小到所有列项目中的最大单元格,包括标题。我有这个:

dataGridViewMain.ColumnHeadersHeight = 60;
dataGridViewMain.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

为什么该代码会产生如下所示的几列:

显然有更多空间保留而且我检查了所有行。不包含超过3个字符。在各种列上也会发生此行为。看起来AutoResizeColumns计算所需的空间而不考虑列标题的大小为60并且可以容纳各行文本。

3 个答案:

答案 0 :(得分:1)

您的网格标题正在重新调整标题文本的大小。 您需要调整dataGridViewMain中的某个属性。

设定如下;

dataGridViewMain.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;

这也可以通过Property Window设置;

Resize

答案 1 :(得分:0)

尝试:)

this.dataGridViewMain.EnableHeadersVisualStyles = false;
this.dataGridViewMain.ColumnHeadersHeight = 60;

答案 2 :(得分:-1)

this.dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
this.dataGridView1.ColumnHeadersHeight = 40;
this.dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;