He estado luchando con esto por un tiempo, y he descubierto que otras personas también tienen problemas con el TableLayoutPanel (.NET 2.0 Winforms).Formas de pago TableLayoutPanel que agrega filas programáticamente
Problema
Estoy intentando tomar un TableLayoutPanel 'en blanco', que tiene 10 columnas definidas, a continuación, en tiempo de ejecución mediante programación añadir filas de los controles (es decir, uno de control por célula).
Uno podría haber pensado que debería ser tan simple como
myTableLayoutPanel.Controls.Add(myControl, 0 /* Column Index */, 0 /* Row index */);
Pero que (para mí) no añade las filas. Entonces, quizás agregue un estilo de fila
myTableLayoutPanel.RowStyles.Clear();
myTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
Pero eso tampoco funciona. He buscado y descubrí que el uso de myTableLayoutPanel.RowCount
cambia del tiempo de diseño al tiempo de ejecución, por lo tanto, hacer myTableLayoutPanel.RowCount++;
en realidad no agrega otra fila, ni siquiera antes/después de agregar una entrada RowStyle para ella.
Otro problema relacionado que estoy encontrando es que los controles se agregarán a la pantalla, pero todos simplemente se renderizan en el punto 0,0 del TableLayoutPanel, ni siquiera están limitados a estar dentro de los límites de la celda que se supone que se muestran dentro (es decir, con Dock = DockStyle.Fill todavía aparecen demasiado grandes/pequeños).
¿Alguien tiene un ejemplo funcional de agregar filas & controles en tiempo de ejecución?
Agregar un RowStyle en realidad aumentará el RowStyles.Count() –