Ho combattuto con questo per un po 'e ho scoperto che molte altre persone hanno problemi anche con TableLayoutPanel (.net 2.0 Winforms).
Problema
Sto tentando di prendere un tablelayoutpanel "vuoto", che ha 10 colonne definite, quindi in fase di esecuzione aggiungere in modo programmatico righe di controlli (cioè un controllo per cella).
Si potrebbe pensare che dovrebbe essere semplice come
myTableLayoutPanel.Controls.Add(myControl, 0 /* Column Index */, 0 /* Row index */);
Ma questo (per me) non aggiunge le righe. Quindi forse aggiungendo uno stile di riga
myTableLayoutPanel.RowStyles.Clear();
myTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
Ma neanche questo funziona. Ho scavato un myTableLayoutPanel.RowCount
po ' e ho scoperto che l' utilizzo cambia dal tempo di progettazione al tempo di esecuzione, quindi fare in myTableLayoutPanel.RowCount++;
realtà non aggiunge un'altra riga, nemmeno prima / dopo aver aggiunto una voce RowStyle per esso!
Un altro problema correlato che sto riscontrando è che i controlli verranno aggiunti al display, ma vengono semplicemente renderizzati tutti al punto 0,0 del TableLayoutPanel, inoltre non sono nemmeno vincolati a rientrare nei limiti della cella che dovrebbero essere visualizzati all'interno (cioè con Dock = DockStyle.Fill appaiono ancora troppo grandi / piccoli).
Qualcuno ha un esempio funzionante di aggiunta di righe e controlli in fase di esecuzione?