1

我有一个表格,其中一个 DGV 卡在表格的中心。

是否可以将表单设置为自动调整其宽度(最大限制)以适应 DGV - 取决于 DGV 中字段的总宽度。

我是否需要使用与这篇文章类似的方法,或者这是否可能使用控件属性“开箱即用”?

4

2 回答 2

1

编辑:

public Form1()
{
    InitializeComponent();

    dataGridView1.AutoSize = true;
    dataGridView1.SizeChanged += new EventHandler(dataGridView1_SizeChanged);
    dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
}

void dataGridView1_SizeChanged(object sender, EventArgs e)
{
    Width = dataGridView1.Width + 10;
}
于 2012-05-14T16:33:59.993 回答
0

您可以通过将“AutoSizeColumnsMode”和“AutoSizeRowsMo​​de”属性设置为“AllCells”来将 DataGridView 设置为适合其内容的大小:

dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells

从这里,您可以通过使用控件的大小设置表单的大小来调整表单的大小以适应 DataGridView:

this.Height = dataGridView.Height;
this.Width = dataGridView.Width;

因此,我想您可以通过处理“ColumnWidthChanged”事件(因为您只关心宽度)来检查是否向 DataGridView 添加或删除了内容,并在该处理程序中调整表单大小。

于 2012-05-14T16:31:51.727 回答