У меня есть элемент управления TableLayoutPanel, который изначально пуст - 0 строк и 0 столбцов. Я хочу сформировать его и заполнить его некоторыми элементами управления из кода, и это работает, но у меня есть некоторая неприятная проблема - когда я добавляю элементы управления в TableLayoutPanel с использованием кода, столбцы и строки имеют разный размер (хотя все добавленные элементы управления являются того же размера, и пристыкован для заполнения ячеек в контейнере TableLayoutPanel). В основном первый ряд занимает около 50% высоты, а два следующих ряда занимают 25% каждый.
код, который я пробовал, выглядит следующим образом:
//Reseting table:
tableLayoutPanel1.RowCount = 1;
tableLayoutPanel1.ColumnCount = 1;
//Size of one side of matrix:
int oneSide=(int)Math.Sqrt(mat.Matrix.Length);
tableLayoutPanel1.RowCount = oneSide;
tableLayoutPanel1.ColumnCount = oneSide;
tableLayoutPanel1.RowStyles.Clear();
tableLayoutPanel1.ColumnStyles.Clear();
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100 / oneSide));
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100 / oneSide));
//Matrix is an array of controls, mat is some class
tableLayoutPanel1.Controls.AddRange(mat.Matrix);
Выше код не выполняет свою работу ... Как добавить somtrols из кода, и сделать все ячейки одинакового размера?
Постскриптум Я должен добавить элементы управления из кода, создание строк и столбцов во время разработки невозможно.