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();}
然后就到StackOverflow
和CSDN
里面各种找,最终确定了一个比较靠谱的方法:
就是先将所有控件取出暂存在一个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();}