2012-12-21 11 views
25

Ho un TableLayoutPanel che inizia con due colonne e 0 righe. Quello che devo fare è aggiungere dinamicamente una riga e riempire entrambe le colonne con controlli diversi (saranno pannelli). In Form1 Sto creando il TableLayout in questo modo:Aggiunta di controlli a TableLayoutPanel in modo dinamico durante il runtime

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

successivamente durante il runtime sto ottenendo quante righe avrò bisogno, e se saranno riempiti sia con un pannello o qualche etichetta. Potrebbe accadere che nella stessa riga sinistra sarà Panel, giusto Etichetta ecc ..

risposta

42

usare qualcosa di simile a questo:

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

Non è necessario definire il numero di righe e colonne, che sarà aggiunto automaticamente.

Problemi correlati