Winforms TableLayoutPanel programowo dodając wiersze

Walczę z tym od jakiegoś czasu i odkryłem, że wielu innych ludzi zmaga się również z TableLayoutPanel (.net 2.0 Winforms).

Problem

Próbuję zrobić „pusty” tablelayoutpanel, który ma zdefiniowane 10 kolumn, a następnie w czasie wykonywania programowo dodać wiersze kontrolek (tj. Jedną kontrolkę na komórkę).

Można by pomyśleć, że powinno być tak proste, jak

myTableLayoutPanel.Controls.Add(myControl, 0 /* Column Index */, 0 /* Row index */);

Ale to (dla mnie) nie dodaje wierszy. Więc może dodając styl w rzędzie

myTableLayoutPanel.RowStyles.Clear();
myTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));

Ale to też nie działa. Wykopałem i dowiedziałem się, żemyTableLayoutPanel.RowCount w związku z tym zmiany użycia od czasu projektowania do czasu uruchomieniamyTableLayoutPanel.RowCount++; tak naprawdę nie dodaje kolejnego wiersza, nawet przed dodaniem do niego wpisu RowStyle!

Kolejnym związanym z tym problemem jest to, że kontrolki zostaną dodane do ekranu, ale wszystkie po prostu są renderowane w punkcie 0,0 tabeli TableLayoutPanel, dodatkowo nie są nawet ograniczone do bycia w granicach komórki, które mają być wyświetlane wewnątrz (np. z Dock = DockStyle. Wypełnij je nadal zbyt duże / małe).

Czy ktoś ma działający przykład dodawania wierszy i formantów w czasie wykonywania?

questionAnswers(8)

yourAnswerToTheQuestion