4

当我在 TableLayoutPanel 上放置一个控件(例如 Label 或 TextBox)时,它具有(当然还有许多其他属性)以下属性:

Cell.Column
Cell.Row
Column
Row

...但这些控件通常不具有这些属性(IOW、标签和未放置在 TLP 上的文本框没有它们)。

如何以编程方式将值分配给这些属性(给要嵌入 TLP 的控件)?

这是我现有的标签代码:

. . .
lblName = string.Format("label{0}", i);
var lbl = new Label()
{
    Name = lblName,
    Parent = tableLayoutPanelPlatypi,
    Column = ColNum, // Doesn't compile; Column property not recognized
    Row = i - 1,     // Doesn't compile; Row property not recognized
    Dock = DockStyle.Fill,
    Margin = 0,
    TextAlign = ContentAlignment.MiddleCenter,
    Text = GettysburgAddressObfuscation()
};
4

1 回答 1

4

您可以通过 TableLayoutPanel 的控件 Add 方法添加它们:

tableLayoutPanelPlatypi.Controls.Add(lbl, ColNum, i - 1);

或者正如您所指出的,每个属性都可以单独设置:

tableLayoutPanelPlatypi.SetColumn(lbl, ColNum);
tableLayoutPanelPlatypi.SetRow(lbl, i - 1);

表单的设计器会为您方便地添加这些属性,但是如果您在设计器文件中查看已添加到 TableLayoutPanel 的控件,它会使用上面的格式。

于 2012-08-13T23:13:25.633 回答