簡體   English   中英

如何刪除vb.net中動態創建的控件?

[英]How to delete dynamically-created controls in vb.net?

我有這個程序可以動態創建控件(文本框,進度條,標簽,計時器)。 現在,我創建了一個按鈕,單擊該按鈕將刪除表單上創建的控件。 這是什么代碼?

創建控件時,請保留引用。 例如,您可以將列表用作全局變量。

Dim MyControls as List(Of Control)

創建控件時,將它們添加到表單的控件集合以及列表中

MyControls = New List(Of Control)
[...]
Me.Controls.Add(NewControl)
MyControls.Add(NewControl)

請刪除將控件從表單中刪除並將其處置的控件(免費資源)

For each c as Control in MyControls
  Me.Controls.Remove(c)
  c.Dispose()
Next

您可以執行此操作,因為控件是引用類型。 這意味着MyControls列表中的對象和窗體上顯示的對象都指向同一實例,因此您以后可以輕松地將它們處置。

就像上面的@Jens

    For each tb as TextBox in burstbox
        burstbox.Remove(tb)
        tb.Dispose()
    Next

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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