У меня есть следующий код:
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 пикселей справа.
Может ли кто-нибудь указать мне правильное направление?