【发布时间】:2016-05-03 07:36:48
【问题描述】:
TextBox txt1 = new TextBox();
TextBox txt2 = new TextBox();
if (Cat0.Text == "test")
{
txt1.Name = "testText";
txt1.Width = 170;
txt1.Height = 21;
txt1.Location = new System.Drawing.Point(122, 145);
txt2.Name = "testText2";
txt2.Width = 170;
txt2.Height = 21;
txt2.Location = new System.Drawing.Point(122, 171);
panel1.Controls.Add(txt1);
panel1.Controls.Add(txt2);
}
else
{
if (panel1.Controls.Contains(txt1)) // not working
{
panel1.Controls.Remove(txt1);
}
}
if else 语句不起作用。所以我不能删除这个块中的表单控件。我认为不工作的原因是因为使用代码创建的txt1 控件。
【问题讨论】:
-
你说的不工作是什么意思?从显示的代码来看,它永远不会进入
if,因为在周围的else中,控件永远不会添加到panel1。 -
只需为文本框创建一个成员并检查该成员。您创建了一个与之前添加的文本框不同的文本框的全新实例。