以 .NET windows 形式向 TableLayoutPanel 添加动态控件
Adding dynamic controls to TableLayoutPanel in .NET windows form
我想在单击按钮时向面板动态添加控件。但是我想整理位置。例如,我想让两个文本框并排放置,宽度相等,面板的 space 相等。见下图。
如上图所示,当点击按钮时,会添加控件。但是我在使用 TableLayoutPanel 时遇到问题。请参阅下面的代码。
private void btnAddOption_Click(object sender, EventArgs e)
{
TextBox tb1 = new TextBox();
tb1.Text = "Cell 1";
TextBox tb2 = new TextBox();
tb2.Text = "Cell 2";
TableLayoutPanel rowLayout = new TableLayoutPanel();
rowLayout.ColumnCount = 2;
rowLayout.RowCount = 1;
//want to add tb1 to cell 1 and tb2 to cell 2 of TableLayoutPanel
panelFoodOptions.Controls.Add(rowLayout);
}
正如您在我的代码中看到的,我注释了我想做的事情。这些是我的问题。
我试过了
rowLayout.Controls.Add(tb1);
rowLayout.Controls.Add(tb2);
所以上面的方法是行不通的。所以我尝试了一种获取布局单元格的方法。但我遇到了问题。见下图。
正如您在屏幕截图中看到的,我必须通过子控件才能获取单元格。但是我什至没有向单元格添加控件。我想将控件添加到获取其各自位置的单元格中。如何向我想要的单元格添加控件?
你只需要使用Controls.Add
方法并指定控件的列和行:
rowLayout.Controls.Add(tb1, 0, 0);
rowLayout.Controls.Add(tb2, 0, 1);
我想在单击按钮时向面板动态添加控件。但是我想整理位置。例如,我想让两个文本框并排放置,宽度相等,面板的 space 相等。见下图。
如上图所示,当点击按钮时,会添加控件。但是我在使用 TableLayoutPanel 时遇到问题。请参阅下面的代码。
private void btnAddOption_Click(object sender, EventArgs e)
{
TextBox tb1 = new TextBox();
tb1.Text = "Cell 1";
TextBox tb2 = new TextBox();
tb2.Text = "Cell 2";
TableLayoutPanel rowLayout = new TableLayoutPanel();
rowLayout.ColumnCount = 2;
rowLayout.RowCount = 1;
//want to add tb1 to cell 1 and tb2 to cell 2 of TableLayoutPanel
panelFoodOptions.Controls.Add(rowLayout);
}
正如您在我的代码中看到的,我注释了我想做的事情。这些是我的问题。
我试过了
rowLayout.Controls.Add(tb1);
rowLayout.Controls.Add(tb2);
所以上面的方法是行不通的。所以我尝试了一种获取布局单元格的方法。但我遇到了问题。见下图。
正如您在屏幕截图中看到的,我必须通过子控件才能获取单元格。但是我什至没有向单元格添加控件。我想将控件添加到获取其各自位置的单元格中。如何向我想要的单元格添加控件?
你只需要使用Controls.Add
方法并指定控件的列和行:
rowLayout.Controls.Add(tb1, 0, 0);
rowLayout.Controls.Add(tb2, 0, 1);