В начале есть TableLayoutPanel только с одной строкой и без столбцов. Одним нажатием кнопки я хочу, чтобы эта панель была преобразована с 5 строками и 3 столбцами.
private void button_Click(object sender, EventArgs e)
{
this.tableLayoutPanel1.ColumnCount = 3;
this.tableLayoutPanel1.RowCount = 5;
}
Проблема в том, что это получается у вас в результате!
Как видите, поля, созданные из строк и столбцов, не содержат одинаковых областей на панели.
В случае 3 столбцов и 5 строк столбцы должны разделять 100% tablelayoutpanel, то есть 30% на каждый. В случае 5 рядов каждый ряд должен занимать 20%.
Поэтому я добавляю к методу button_Click следующие две строки кода.
this.tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 30F));
this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 20F));
Но я получаю тот же результат! Что мне не хватает?
TableLayoutPanel
? Просто добавьте к нему элементы управления (см. этот ответ). Снимок экрана не соответствует вашему коду. Рассмотрите возможность подготовки mcve (в виде пошагового руководства или полного дампа Form1.cs + Form1.designer. cs), то кто-нибудь может попытаться разобраться в вашей проблеме поближе. - person Sinatr   schedule 02.08.2016