winforms 当窗体调整大小时,如何按比例调整DataGridView的大小?

m3eecexj  于 2022-11-25  发布在  其他
关注(0)|答案(3)|浏览(257)

我有一个DataGridView,它的Dock属性设置为Fill。当我调整窗体大小时,DataGridView也会调整大小。在我的例子中,我将DataGridView列宽设置为一个固定值。如下所示:

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

我试图让我的DataGridView中的列在调整控件大小时按比例调整大小。当我的网格列像上面这样设置时,我如何通过编程来完成呢?

xfyts7mz

xfyts7mz1#

当您对列宽值进行硬编码时,没有特别优雅的方法来实现这一点。这个问题没有给予多少背景资料。
更好的解决方案是调用AutoResizeColumns method,它将使用指定的大小模式自动调整所有列的宽度。您可以在窗体的Resize事件的处理程序中调用此方法。例如:

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

This MSDN article提供有关DataGridView控件的大小选项的详细信息。

inb24sb2

inb24sb22#

您可以使用DataGridView.Resize事件根据

lnxxn5zx

lnxxn5zx3#

datagridview.Columns["columnName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

相关问题