调整整个窗体大小时,调整Windows窗体DataGrid中的列宽(.NET 4.0)

时间:2013-01-24 13:11:03

标签: .net winforms datagridview

我有DataGrid有很多专栏。我已经锚定DataGrid所以当我调整整个表单的大小时,它也会调整大小。不幸的是,列的宽度保持不变,这是不正确的。我在这里看到了一个解决方案,将最后一列设置为Fill,但是这样我放大主窗体越多,最后一列得到的越大,而不调整其他值。我写道,.NET 4.5有一个内置的解决方案但是我被限制为.NET 4.0所以有没有办法调整所有列的宽度,保持相同的比例?

1 个答案:

答案 0 :(得分:0)

如果您只想让所有列宽度相等并填充网格,则可以处理Resize事件。

    private void dataGridView1_Resize(object sender, EventArgs e)
    {
        int width = dataGridView1.Width / dataGridView1.ColumnCount;
        foreach (DataGridViewColumn column in dataGridView1.Columns)
            column.Width = width;
    }

您可能需要做一些小的调整,但这是它的要点。