如何在winform中动态添加或删除控件

如何在winform中动态添加或删除控件,第1张

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

你只是移除了!!没有释放啊!!

while (panel1.Controls.Count >0)

{

panel1.Invoke((Action)delegate

{

Control C=panel1.Controls[0])

panel1.Controls.Remove(C)

C.Dispose()

})

}

private void button1_Click(object sender, EventArgs e)

{

Clear(this)

//label1.Text = i.ToString()

}

private void Clear(Control ctrl)

{

foreach (Control c in Controls)

{

if (c is Button)

{

c.Dispose()

//i++

Clear(c)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11821064.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存