全心思齐网

c#怎么动态生成控件?

单击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);

为这些label增加Click事件

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);}

匿名回答于2023-09-14 18:22:57


相关知识问答