Подтвердить что ты не робот

Динамическое добавление элементов управления в TableLayoutPanel во время выполнения

У меня есть TableLayoutPanel, начинающийся с двух столбцов и 0 строк. Мне нужно сделать это, динамически добавляя строку и заполняя оба столбца различными элементами управления (это будут панели). В Form1 я создаю TableLayout следующим образом:

TableLayoutPanel Table = new TableLayoutPanel();
Table.Location = new Point(10, 40);
Table.Size = new Size(620,100);
Table.AutoSize = true;
Table.Name = "Desk";
Table.ColumnCount = 2;
Table.RowCount = 0;
Table.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
Table.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.AddRows;
this.Controls.Add(Table);

после этого во время выполнения я получаю, сколько строк мне нужно, и если они будут заполнены либо панелью, либо некоторой меткой. Может случиться так, что в той же строке слева будет Panel, right Label и т.д.

4b9b3361

Ответ 1

Используйте что-то вроде этого:

Table.Controls.Add(new Label { Text = "Type:", Anchor = AnchorStyles.Left, AutoSize = true }, 0, 0);
Table.Controls.Add(new ComboBox { Dock = DockStyle.Fill }, 0, 1);

Вам не нужно определять количество строк и столбцов, они будут добавлены автоматически.