c# - 如何以编程方式设置动态创建以嵌入到 TableLayoutPanel 中的控件的 Column 和 Row 属性?

标签 c# winforms dynamic tablelayoutpanel

当我在 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()
};

最佳答案

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

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

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

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

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

关于c# - 如何以编程方式设置动态创建以嵌入到 TableLayoutPanel 中的控件的 Column 和 Row 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11943311/

相关文章:

c# - 从 asp.net 中的代码隐藏执行 javascript

C#.NET Excel 和 OLEDB 连接字符串

c# - WinForm 事件处理程序激活速度太慢

c# - Web API 与 Azure Key Vault 的集成测试

c# - 在 PictureBox() 中绘制矩形或箭头

c# - DevExpress GridControl BestFit |自动调整模式?

javascript - 通过方法动态改变元素数据

jsf - 动态JSF(2.0)commandButtons-使用参数设置操作

android - 如何将自定义参数传递给 onClick 监听器

c# - 子 IIS 应用程序中的 RegisterClientScriptResource NullReferenceException