簡體   English   中英

銷毀控件VB.net

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM