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