我想在单击按钮时向面板动态添加控件。但是我想整理位置。例如,我想让两个文本框并排放置,宽度相等,面板空间相等。请参见下图。
如上图所示,当点击按钮时,会添加控件。但是我在使用 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);
关于c# - 在 .NET 窗体中向 TableLayoutPanel 添加动态控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42840406/