WPF控件的动态删除请参考WPF动态删除指定类型控件

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

今天在实现控件动态删除过程中遇到了点小Trouble,就是在删除的过程中只能删除一半,具体代码如下:

foreach (var control in from ctls in controlUtility.GetControls(panel1)
    where ctls.Name.StartsWith("BtnTable")
    select ctls)
{
    panel1.Controls.Remove(control);
    control.Dispose();
}

然后就到StackOverflowCSDN里面各种找,最终确定了一个比较靠谱的方法:
就是先将所有控件取出暂存在一个List里面然后再一一遍历删除

 var controls = from ctls in controlUtility.GetControls(panel1)
    where ctls.Name.StartsWith("BtnTable")
    select ctls;

foreach (var control in controls.ToList())
{
    panel1.Controls.Remove(control);
    control.Dispose();
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄