У меня есть следующий код:Проблема с размерами колонок с использованием TableLayoutPanel
var tlp = new TableLayoutPanel
{
Location = new Point(0, 0),
Name = "TableLayoutPanel1",
Dock = DockStyle.Fill,
BackColor = Color.White,
TabIndex = 0
};
Controls.Add(tlp);
tlp.RowStyles.Add(new RowStyle(SizeType.Absolute, 14f));
tlp.RowStyles.Add(new RowStyle(SizeType.Absolute, 18f));
tlp.RowStyles.Add(new RowStyle(SizeType.Absolute, 12f));
tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 100f));
tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 50f));
var label3 = new Label
{
Font = new Font("Tahoma", 8, FontStyle.Regular),
Text = Description,
AutoSize = false,
Width=50,
ForeColor = Color.Black,
TextAlign = ContentAlignment.TopLeft
};
tlp.Controls.Add(label3, 1, 2);
Моя проблема, когда я запускаю мое приложение, нет ничего отображается. Если изменить последнюю строку для отображения в первой колонке, например, так:
tlp.Controls.Add(label3, 0, 2);
Затем он показывает очень хорошо в первом столбце. Кроме того, если я изменю свое определение ColumnStyle
на SizeType.Percentage
вместо Absolute
, это тоже отлично работает, но я не хочу процент, я хочу, чтобы столбец размером 100 пикселей слева и фиксированный столбец размером 50 пикселей справа.
Может кто-нибудь указать мне в правильном направлении?
Вау, это была моя проблема. Не могу поверить, что вам нужно установить это видение как то, как оно должно быть способным понять это из-за многих строк или столбцов, которые я фактически добавляю. – Icemanind
Да, вы бы подумали, что это сработает, просто добавив в коллекцию. Ну что ж. – quip