我如何按比例调整一个DataGridView当一个表单调整大小

本文关键字:一个 调整 表单 按比例 DataGridView | 更新日期: 2023-09-27 17:48:56

我有一个DataGridView,其Dock属性设置为Fill。当我调整我的形式的DataGridView将调整大小。在我的例子中,我将DataGridView列宽度设置为固定值。像这样:

dgGrid.Columns[0].Width = 50;
dgGrid.Columns[1].Width = 126;
dgGrid.Columns[2].Width = 100;

我试图让我的DataGridView列按比例调整控制时的大小。当我的网格列与上面一样设置时,我如何以编程方式做到这一点?

我如何按比例调整一个DataGridView当一个表单调整大小

当硬编码列宽度值时,没有特别优雅的方法可以做到这一点。我不知道你为什么要这么做;这个问题没有提供太多背景信息。

更好的解决方案是调用AutoResizeColumns方法,它将使用指定的大小模式自动调整所有列的宽度。您将在窗体的Resize事件的处理程序中调用此方法。例如:

protected override void OnResize(EventArgs e)
{
    myDataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}

这篇MSDN文章提供了关于DataGridView控件大小设置选项的更多信息。

可以使用DataGridView。Resize事件根据

的新大小计算每个列的新宽度
datagridview.Columns["columnName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;