Я хочу динамически добавлять элементы управления на панель при нажатии кнопки. Но я хочу упорядочить позиции. Например, я хочу иметь два текстовых поля бок о бок равной ширины, занимая равное пространство панели. См. Картинку ниже.
Как вы можете видеть на картинке выше, при нажатии кнопки будут добавлены элементы управления. Но у меня проблема с использованием 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);
Таким образом, указанный выше способ не работает. Итак, я попробовал получить ячейку макета. Но у меня проблема. См. Картинку ниже.
Как видно на скриншоте, мне нужно передать дочерний элемент управления, чтобы получить ячейку. Но я даже не добавил элемент управления в ячейку. Я хочу добавить элемент управления в ячейку, получив соответствующую позицию. Как я могу добавить элемент управления в нужную ячейку?