2012-12-21 54 views
25

2つの列と0行で始まるTableLayoutPanelがあります。私がする必要があるのは、行を動的に追加し、列の両方に異なるコントロール(パネルになります)を入力することです。 Form1のでは私はTableLayoutをこのように作成しています:実行時にTableLayoutPanelに動的にコントロールを追加する

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); 

その後、実行時に、私は私が必要になりますどのように多くの行を取得しています、そして、彼らはパネルまたはいくつかのラベルのいずれかで満たされる場合。左の同じ行のパネル、右のラベルなどになることが起こる。..

答えて

42

使用次のようなものかもしれません:あなたは、行と列の数を定義する必要はありません

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

、彼らはなります自動的に追加されます。

関連する問題