从表单中删除所有控件

时间:2016-12-05 21:41:31

标签: vb.net

我正在以编程方式向项目中的表单添加几个控件,然后当计时器打勾时,我想删除所有现有控件并用新控件和新的更新数据替换它们(作为一个旁边 - 这真可怕编码?)

我看了一下msdn,发现了controlcollection.clear()方法,听起来它会做我想做的事。但是,每当我尝试使用该方法时,我都会得到一个相当神秘的“对非共享成员的引用需要一个对象引用”错误。

为什么会这样?我是新手,我不确定非共享成员是什么(或那些是什么)或如何给它一个对象参考。

这不是我正在使用的代码,但我认为它最简单地说明了这一点:

Private Sub add_and_remove()
    For i = 0 To 10
        Dim t As New TextBox
        t.Text = "whatever"
        Me.Controls.Add(t)
    Next
    Me.ControlCollection.Clear()
End Sub

提前致谢!

1 个答案:

答案 0 :(得分:2)

来自评论:使用

Me.Controls.Clear()而不是Me.ControlCollection.Clear()

或者更好的是,根本不要清除控件,只需更新控件的属性。

全部谢谢!