2012-12-21 23 views
25

Mam TableLayoutPanel zaczynający się od dwóch kolumn i 0 wierszy. Muszę tylko dynamicznie dodawać wiersze i wypełniać obie kolumny różnymi kontrolkami (będą to panele). W Form1 Mam tworzenia TableLayout ten sposób:Dodawanie elementów sterujących do TableLayoutPanel dynamicznie w czasie wykonywania

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

potem podczas wykonywania jestem coraz ile wierszy będę potrzebował, a jeśli zostaną one wypełnione albo panelu lub jakiejś Label. Może się zdarzyć, że w tym samym rzędzie po lewej stronie będzie panel prawy, etykieta itp ..

Odpowiedz

42

użyć czegoś takiego:

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

Nie trzeba zdefiniować liczbę wierszy i kolumn, będą one dodane automatycznie.

Powiązane problemy