举一个使用TableLayoutPanel,可以自动调整其子控件的位置和大小,以适应窗体的大小变化的例子
时间: 2024-03-02 20:53:10 浏览: 233
好的,以下是一个使用TableLayoutPanel的例子,其中包含两个Label控件,这些控件的位置和大小将随着窗体大小的变化而自动调整:
```csharp
private void Form1_Load(object sender, EventArgs e)
{
// 创建一个TableLayoutPanel控件
var tableLayout = new TableLayoutPanel();
tableLayout.Dock = DockStyle.Fill;
this.Controls.Add(tableLayout);
// 设置TableLayoutPanel的列和行
tableLayout.ColumnCount = 1;
tableLayout.RowCount = 2;
// 添加两个Label控件到TableLayoutPanel中
var label1 = new Label();
label1.Text = "Label 1";
label1.Dock = DockStyle.Fill;
tableLayout.Controls.Add(label1, 0, 0);
var label2 = new Label();
label2.Text = "Label 2";
label2.Dock = DockStyle.Fill;
tableLayout.Controls.Add(label2, 0, 1);
// 设置TableLayoutPanel中每个行的大小和比例
tableLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
tableLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
// 设置TableLayoutPanel中每个列的大小和比例
tableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100));
}
```
在上述代码中,我们首先创建了一个TableLayoutPanel控件,并将其Dock属性设置为Fill,以使其占据整个窗体。然后,我们设置了TableLayoutPanel的列和行的数量,并向其中添加两个Label控件。
接下来,我们设置了TableLayoutPanel中每一行的大小和比例,以及每一列的大小和比例。这将导致TableLayoutPanel在窗体大小变化时自动调整其子控件的位置和大小,以适应新的窗体大小。
阅读全文