35

2列0行で始まるTableLayoutPanelがあります。私がする必要があるのは、動的に行を追加し、両方の列に異なるコントロール(パネルになります)を入力することです。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);

その後、実行時に必要な行数を取得し、それらがパネルまたはラベルで埋められるかどうかを確認します。同じ行の左側がパネル、右側のラベルなどになる場合があります。

4

1 に答える 1

56

次のようなものを使用します。

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

行と列の数を定義する必要はありません。それらは自動的に追加されます。

于 2012-12-21T15:08:01.210 に答える