我有这个程序可以动态创建控件(文本框,进度条,标签,计时器)。现在我创建了一个按钮,单击该按钮将删除表单上创建的控件。这是什么代码?
答案 0 :(得分:1)
创建控件时,请保留引用。例如,您可以使用列表作为全局变量。
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
列表中的对象和表单上显示的对象都指向同一个实例,因此您可以在之后轻松处理它们。
答案 1 :(得分:0)
就像@Jens上面说的那样
For each tb as TextBox in burstbox
burstbox.Remove(tb)
tb.Dispose()
Next