datagridview没有正确自动调整

时间:2017-02-10 13:17:52

标签: c# datagridview

我试图自动调整我的dgv的宽度和高度, 然而,它给我留下了宽阔的空间,有些不对。

这是我使用的代码:

int height = 0;
foreach (DataGridViewRow row in dgv.Rows)
{
    height += row.Height;
}
height += dgv.ColumnHeadersHeight;

int width = 0;
foreach (DataGridViewColumn col in dgv.Columns)
{
    width += col.Width;
}
width += dgv.RowHeadersWidth;

dgv.ClientSize = new Size(width + 2, height + 2);

dgv with spaces in width - example 1

dgv with spaces in width - example 2

2 个答案:

答案 0 :(得分:0)

看看DataGridView.AutoSizeColumnsMode。您也可以使用DataGridView.AutoResizeColumns();强制调整大小。

您刚刚将所有列宽添加到一起,但是谁说列宽是所需的?

答案 1 :(得分:0)

通常ColumnHeadersHeightSizeMode自己定义属性。 他们获得了AutoSize属性,您可以将其设置为AutoSizeColumnsMode

使用DataGridView,您甚至可以告诉ColumnHeader哪个对象需要调整大小。 (例如AllCellsExceptHeaderAllCells,{{1}}。

您可以在属性窗口中轻松找到它们。无需编码。