c# 自定义添加了控件,我想要删除其中的一个,请问要怎么做?

c# 自定义添加了控件,我想要删除其中的一个,请问要怎么做?,第1张

事件里面的sender可以获得是谁发起了这次点击,把sender转换为label,然后再删除

private void Form1_Load(object sender, EventArgs e)

{

for (int i = 0i <10i++)

{

Label lb = new Label()

lb.Text = "编号"+i

lb.Width = 45

lb.Height = 20

lb.Location = new Point(20 + i*45, 50)

lb.Click += new EventHandler(lb_Click)

this.Controls.Add(lb)

}

}

void lb_Click(object sender, EventArgs e)

{

Label lb = sender as Label

this.Controls.Remove(lb)

}

你这是WPF的吧,除了窗口,其他控件并无“关闭”一说。但可以移除子控件再添加新控件。

比如,新建一个WPF程序,添加两个UserControl,默认Grid里面是第一个,如下

    <Grid Name="grid1">

        <local:UserControl1/>

    </Grid>

那后台代码里这样换成第二个

            UserControl2 u2 = new UserControl2()//新内容

            this.grid1.Children.Clear()

            this.grid1.Children.Add(u2)

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

while (panel1.Controls.Count >0)

{

panel1.Invoke((Action)delegate

{

Control C=panel1.Controls[0])

panel1.Controls.Remove(C)

C.Dispose()

})

}


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

原文地址: http://outofmemory.cn/bake/11604240.html

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

发表评论

登录后才能评论

评论列表(0条)

保存