[英]Destroying Controls VB.net
動態制作完所有控件后,我很難銷毀所有控件。 我正在用它來摧毀他們:
For Each cControl In Me.Controls
If (TypeOf cControl Is TextBox) Then
Me.Controls.Remove(cControl)
End If
Next
For Each cControl1 In Me.Controls
If (TypeOf cControl1 Is CheckBox) Then
Me.Controls.Remove(cControl1)
End If
Next
我還使用了cControl.dispose()
而不是Me.Controls.Remove(cControl)
。
與其瀏覽並銷毀所有文本框和復選框,不如銷毀所有其他復選框和文本框。 如果我切換兩個For循環,那將是相反的方式。 有解決辦法嗎? 一個解釋? 解決嗎?
迭代該Controls
集合時,請勿修改該Controls
集合。 您可以加入too循環。 這將解決您的問題:
Dim count As Integer = Me.Controls.Count
For i As Integer = count -1 to 0 Step -1
Dim cControl As Control = Me.Controls(i)
If (TypeOf cControl Is CheckBox OrElse TypeOf cControl Is TextBox) Then
Me.Controls.Remove(cControl)
End If
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.