在使用TableLayoutPanel添加列之后添加一行
本文关键字:添加 一行 TableLayoutPanel 之后 | 更新日期: 2023-09-27 18:03:10
我试图动态地将列和行添加到TableLayoutPanel。到目前为止,我有以下代码:
l = new Label();
l.Text = "" + headers[headers.Count-1];
ColumnStyle cStyle = new ColumnStyle(SizeType.AutoSize);
theTable.ColumnStyles.Add(cStyle);
theTable.Controls.Add(l, colCount, 0);
colCount++;
就是把我需要的所有列加起来。然后,我尝试通过使用:
切换到添加行theTable.GrowStyle = TableLayoutPanelGrowStyle.AddRows;
但这不起作用。相反,它将我添加的列变成行。是否有一种方法可以动态创建列,然后动态创建行?
谢谢
我无法重现您的问题:
private void AddTLP()
{
List<string> headers = new List<string>();
headers.Add("Column 1");
headers.Add("Column 2");
headers.Add("Column 3");
TableLayoutPanel tlp = new TableLayoutPanel();
tlp.Size = new Size(356, 120);
tlp.BackColor = Color.Gray;
for (int i = 0; i < headers.Count; i++)
{
Label l = new Label();
l.Text = headers[i].ToString();
ColumnStyle cStyle = new ColumnStyle(SizeType.AutoSize);
tlp.ColumnStyles.Add(cStyle);
tlp.Controls.Add(l, i, 0);
}
tlp.GrowStyle = TableLayoutPanelGrowStyle.AddRows;
// Add controls to test growth:
tlp.Controls.Add(new Button(), 0, 1);
tlp.Controls.Add(new TextBox(), 1, 2);
this.Controls.Add(tlp);
}
一定有一些你没有显示的代码导致了这个问题。