He estado luchando con esto por un tiempo, y descubrí que otras personas también luchan con TableLayoutPanel (.net 2.0 Winforms).
Problema
Estoy intentando tomar un panel de diseño de tabla 'en blanco', que tiene 10 columnas definidas, luego, en tiempo de ejecución, agrego filas de controles mediante programación (es decir, un control por celda).
Se podría haber pensado que debería ser tan simple como
myTableLayoutPanel.Controls.Add(myControl, 0 /* Column Index */, 0 /* Row index */);
Pero eso (para mí) no agrega las filas. Entonces tal vez agregando un estilo de fila
myTableLayoutPanel.RowStyles.Clear();
myTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
Pero eso tampoco funciona. Investigué y descubrí que el myTableLayoutPanel.RowCount
uso cambia desde el tiempo de diseño hasta el tiempo de ejecución, por lo tanto, hacerlo myTableLayoutPanel.RowCount++;
no agrega otra fila, ¡ni siquiera antes / después de agregar una entrada RowStyle!
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 de TableLayoutPanel, además, ni siquiera están restringidos a estar dentro de los límites de la celda que se supone que deben estar mostrados dentro (es decir, con Dock = DockStyle.Fill todavía parecen demasiado grandes / pequeños)
¿Alguien tiene un ejemplo práctico de agregar filas y controles en tiempo de ejecución?