foreach動態刪除控制項漏刪 遍歷不全

2021-07-16 08:37:08 字數 451 閱讀 7572

foreach (control a in picturebox1.controls)

在使用**動態刪除控制項時,會導致遍歷不全漏刪的情況。

關鍵是這段**可能不會報錯,簡直坑爹。

錯誤原因在「foreach迴圈中不能修改集合元素的值」

當remove乙個控制項後,剩下控制項的索引會發生變化。

解決方法:

1.使用

picturebox1.controls.clear();

來刪除全部控制項。

2.需要刪除部分/特定控制項時使用

int k = picturebox1.controls.count;

for (int i = k-1; i >=0; i--)

注意迴圈從末往前。

C Winform控制項動態刪除

wpf控制項的動態刪除請參考wpf動態刪除指定型別控制項 今天在實現控制項動態刪除過程中遇到了點小trouble,就是在刪除的過程中只能刪除一半,具體 如下 foreach var control in from ctls in controlutility.getcontrols panel1 w...

Qt動態介面 控制項刪除問題

在專案中遇到要實現乙個動態資訊展示ui,so,需要動態刪除控制項 結構體儲存所有新建控制項並標識序列號 m nsequence struct cstinfo int m nsequence qgridlayout m pgridlayout qlabel m ptasknamelabel 任務名稱標...

WPF 動態新增和刪除控制項

專案的需求,是要在後台對空間進行增加和刪除,對與習慣winform開發,wpf中卻有很多的不同。ps 你往窗體新增控制項的時候必須要註冊這個控制項,其他地方才可以根據名稱找的到!private void button add click object sender,system.windows.ro...