Winforms TableLayoutPanel добавление строк программно

Я некоторое время боролся с этим и обнаружил, что ряд других людей также борются с TableLayoutPanel (.net 2.0 Winforms).

Problem

Я пытаюсь взять «бланк» tablelayoutpanel, которая имеет 10 определенных столбцов, затем во время выполнения программно добавляет строки элементов управления (то есть один элемент управления на ячейку).

Можно было подумать, что это должно быть так просто, как

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

Но это (для меня) не добавляет строки. Так что, возможно, добавив в стиле строки

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

Но это тоже не работает. Я покопался и обнаружил, чтоmyTableLayoutPanel.RowCount использование меняется от времени разработки к времени выполнения, следовательно, делаетmyTableLayoutPanel.RowCount++; фактически не добавляет другую строку, даже до / после добавления записи RowStyle для нее!

Другая связанная проблема, с которой я сталкиваюсь, заключается в том, что элементы управления будут добавлены на дисплей, но все они просто отображаются в точке 0,0 TableLayoutPanel, кроме того, они даже не ограничены тем, что находятся в пределах ячеек, которые должны быть отображается внутри (то есть с Dock = DockStyle.Fill они все еще кажутся слишком большими / маленькими).

Есть ли у кого-нибудь рабочий пример добавления строк & amp; контролирует во время выполнения?

Ответы на вопрос(8)

Ваш ответ на вопрос