C# Winform控件动态删除


 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM