C# Winform控件动态删除

2021-01-17 03:12

阅读:556

标签:一半   控件   pre   lis   col   panel   tco   ble   箭头   

 

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

今天在实现控件动态删除过程中遇到了点小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();
}

C# Winform控件动态删除

标签:一半   控件   pre   lis   col   panel   tco   ble   箭头   

原文地址:https://www.cnblogs.com/kris-wang/p/12208192.html


评论


亲,登录后才可以留言!