C# WINFORM如何删除动态增加的控件

taiyangzhiya 2011-08-18 02:07:44
单击button1在panel上动态新建了多个label,现在我想要点击选择某个动态新建的label,按button2,可以把这个label删掉
在button1_Click事件中,创建label,代码:

Label lb1 = new Label();
lb1.Name = "panel"+j;
lb1.BackColor = Color.Transparent;
...
lb1.BorderStyle = BorderStyle.FixedSingle;
Panel1.Controls.Add(lb1);

在button2_Click事件中,如何删除动态创建的label,可以的话请给个代码,谢谢
...全文
488 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
taiyangzhiya 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ojlovecd 的回复:]

Label lb1 = Panel1.Controls[name] as Label;
[/Quote]OK,thank you 解决了!
我姓区不姓区 2011-08-18
  • 打赏
  • 举报
回复
Label lb1 = Panel1.Controls[name] as Label;
taiyangzhiya 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ojlovecd 的回复:]

你要先为这些label增加Click事件,否则没法知道选择的是哪个label
C# code

Label lb1 = new Label();
lb1.Name = "panel"+j;
lb1.BackColor = Color.Transparent;
lb1……
[/Quote]
在Label lb1 = Panel1.Controls[name];这个地方出现了个错误,无法将类型“System.Windows.Forms.Control”隐式转换为“System.Windows.Forms.Label”。存在一个显式转换(是否缺少强制转换?) 请问这是什么地方出问题?
taiyangzhiya 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 w656xo 的回复:]

后台 设一个全局变量(至于类型,你懂的...) 用来存储你点击的控件
然后....
[/Quote]
谢谢,能不能给个代码
我姓区不姓区 2011-08-18
  • 打赏
  • 举报
回复
你要先为这些label增加Click事件,否则没法知道选择的是哪个label

Label lb1 = new Label();
lb1.Name = "panel"+j;
lb1.BackColor = Color.Transparent;
lb1.Click += new EventHandler(label_Click);
...
lb1.BorderStyle = BorderStyle.FixedSingle;
Panel1.Controls.Add(lb1);



string name = "";
private void label_Click(object sender, EventArgs e)
{
Label lbl = sender as Label;
name = lbl.Name;
}


然后在Button2的Click中:

private void button2_Click(object sender, EventArgs e)
{
Label lbl = Panel1.Controls[name];
if(lbl != null)
Panel1.Controls.Remove(lbl);
}
csnd唐长老 2011-08-18
  • 打赏
  • 举报
回复
this.panel.Controls
ZXY900213 2011-08-18
  • 打赏
  • 举报
回复
foreach (Control item in this.Controls)
{
if (item is Label && item.Name.Equals("lable1"))
{
this.Controls.Remove(item);
}
}
csnd唐长老 2011-08-18
  • 打赏
  • 举报
回复
foreach (Control ctl in this.Controls)
{
if (ctl is Label)
{
删除代码
}
}
taiyangzhiya 2011-08-18
  • 打赏
  • 举报
回复
顶一下!
c用s户d昵n称 2011-08-18
  • 打赏
  • 举报
回复
后台 设一个全局变量(至于类型,你懂的...) 用来存储你点击的控件
然后....

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧