在运行时期间动态地向TableLayoutPanel添加控件

时间:2012-12-21 15:04:53

标签: c# .net winforms 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或某些Label。可能会发生在同一行中,将是Panel,right Label等。

1 个答案:

答案 0 :(得分:47)

使用类似的东西:

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

您无需定义行数和列数,它们将自动添加。