我想在单击按钮时动态地向面板添加控件。但我想组织这些职位。例如,我希望两个文本框的宽度相等,采用相等的面板空间。见下图。
如上图所示,单击该按钮时,将添加控件。但我使用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);
所以上面的方法不起作用。所以我尝试了一种方法来获得布局的单元格。但我遇到了问题。见下图。
正如您在屏幕截图中看到的,我必须通过子控件来获取单元格。但我甚至没有给细胞添加控制。我想将控件添加到单元格中获取其各自的位置。如何将控件添加到我想要的单元格?
答案 0 :(得分:1)
您只需使用Controls.Add
方法并为控件指定列和行:
rowLayout.Controls.Add(tb1, 0, 0);
rowLayout.Controls.Add(tb2, 0, 1);