Регулировка ширины столбца / строки / высоты в зависимости от их количества

У меня есть tableLayoutPanel с двумя рядами и двумя столбцами под названием GameGrid,

когда button1 нажата я хочу:

Столбец и строка для добавления,

Все столбцы должны быть равны по ширине,

Все ряды должны быть отрегулированы на одинаковую высоту.

Это то, что я пробовал до сих пор:

//Add a new row and row style
GameGrid.RowCount++;
GameGrid.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 10));

//change all the rowstyles to the entire width / the number of rows
foreach (RowStyle style in this.GameGrid.RowStyles)
{
    style.SizeType = SizeType.Percent;
    style.Height = GameGrid.Width / GameGrid.RowCount;
}

//do the same for the columns
GameGrid.ColumnCount++;
GameGrid.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 10));
foreach (ColumnStyle style in this.GameGrid.ColumnStyles)
{
    style.SizeType = SizeType.Percent;
    style.Width = GameGrid.Height / GameGrid.ColumnCount;
}

Но это не совсем работает, и я в конечном итоге с этим:Результат кода

Почему последний столбец / строка длиннее остальных, и что будет работать вместо этого?

0 ответов

Другие вопросы по тегам