C# 重用创建的控件
我有一个2列的TableLayoutPanel。(第一列包含字段名,另一列包含字段值) 所以我创建了这些控件,我想做的是重用它们,以便将数据插入表中C# 重用创建的控件,c#,winforms,C#,Winforms,我有一个2列的TableLayoutPanel。(第一列包含字段名,另一列包含字段值) 所以我创建了这些控件,我想做的是重用它们,以便将数据插入表中 lbl.Text = "field1"; txt.Text = "value1"; tableLayoutPanel.Controls.Add(lbl,0,0) tableLayoutPanel.Controls.Add(txt,1,0) lbl.Text = "field2"; txt.Text = "value2"; tableLayoutP
lbl.Text = "field1";
txt.Text = "value1";
tableLayoutPanel.Controls.Add(lbl,0,0)
tableLayoutPanel.Controls.Add(txt,1,0)
lbl.Text = "field2";
txt.Text = "value2";
tableLayoutPanel.Controls.Add(lbl,0,1)
tableLayoutPanel.Controls.Add(txt,1,1)
这不管用。它将只添加字段2和值2。即使我先设置lbl.name=“smt”,然后再设置lbl.name=“smtElse”,它也不会工作。您不能以这种方式重用控件。每次创建控件时(例如,
新标签(…)
),该控件创建的唯一对象只能在父窗口(或其他容器控件)中存在一次。如果更改其属性(包括将其放置在另一个容器中),它将更新(包括移动)该控件
要放置控件的两个实例,需要创建该控件的两个实例
lbl.Text = "field1";
txt.Text = "value1";
tableLayoutPanel.Controls.Add(lbl,0,0)
tableLayoutPanel.Controls.Add(txt,1,0)
lbl.Text = "field2";
txt.Text = "value2";
tableLayoutPanel.Controls.Add(lbl,0,1)
tableLayoutPanel.Controls.Add(txt,1,1)