重用已创建的控件
本文关键字:控件 创建 | 更新日期: 2023-09-27 18:10:52
我有一个2列的TableLayoutPanel。(第一列包含字段名,另一列包含字段值)
Label lbl = new Label {
AutoSize = false,
Dock = DockStyle.Fill,
TextAlign = ContentAlignment.MiddleLeft
};
TextBox txt = new TextBox{
Dock = DockStyle.Fill,
ReadOnly = true,
};
所以我已经创建了这个控件,我想做的是重用它们,以便将数据插入到表中。
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)
这行不通。它只会添加field2和value2。即使我设置lbl.name = "smt"然后lbl.name = "smtElse"它也不起作用
您不能以这种方式重用控件。每次创建控件(例如:new Label(…)
),创建一个唯一的对象,只能存在一次在父窗口(或其他容器控件)。如果你改变了它的属性(包括将它放在另一个容器中),它将更新(包括移动)该控件。
要放置一个控件的两个实例,您需要创建该控件的两个实例。