我有一个带有按钮的窗口窗体,当单击按钮时,它会动态生成控件,还添加了一个动态生成的按钮,以便它将删除对齐的控件,这意味着除了按钮之外,还有一行控件单击按钮时删除我的代码是
诠释 c = 0;
私人无效按钮1_Click(对象发送者,EventArgs e)
{
诠释诉;
v = c++;
panel1.VerticalScroll.Value = VerticalScroll.Minimum;
按钮 btn = new Button();
btn.Name = "btn" + v;
btn.Text = "删除";
btn.Location = new Point(750, 5 + (30 * v));
btn.Click += new EventHandler(btn_Click);
组合框组合 = 新组合框();
combo.Name = "组合框" + v;
combo.Location = new Point(30, 5 + (30 * v));
组合.标签 = btn;
组合框combo2 =新组合框();
combo2.Name = "combobox2" + v;
combo2.Location = new Point(170, 5 + (30 * v));
组合2.标签= btn;
文本框 txt = 新文本框();
txt.Name = "txtbx" + v;
txt.Location = new Point(300, 5 + (30 * v));
txt.标签 = btn;
文本框 txt2 = 新文本框();
txt2.Name = "txtbx2" + v;
txt2.Location = new Point(450, 5 + (30 * v));
txt2.标签 = btn;
文本框 txt3 = 新文本框();
txt3.Name = "txtbx3" + v;
txt3.Location = new Point(600, 5 + (30 * v));
txt3.标签 = btn;
panel1.Controls.Add(组合);
panel1.Controls.Add(btn);
panel1.Controls.Add(txt);
panel1.Controls.Add(combo2);
panel1.Controls.Add(txt2);
panel1.Controls.Add(txt3);
}
private void btn_Click(object sender, EventArgs e)// 这是动态添加的按钮事件,它将删除组合框和文本框
{
按钮 btnh = 作为按钮的发送者;
foreach(panel1.Controls.OfType<TextBox>() 中的控制项)
{
if (item.Tag == 发件人 || item == 发件人)
panel1.Controls.Remove(item);
}
foreach(panel1.Controls.OfType<ComboBox>() 中的控制项)
{
if (item.Tag == 发件人 || item == 发件人)
panel1.Controls.Remove(item);
}
panel1.Controls.Remove(btnh);
}
我的错误没什么,但问题是它不会删除它留下的所有控件,我不知道问题是什么我的代码简单易行,但我不知道它缺少什么