我正在以编程方式向项目中的表单添加几个控件,然后当计时器打勾时,我想删除所有现有控件并用新控件和新的更新数据替换它们(作为一个旁边 - 这真可怕编码?)
我看了一下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
提前致谢!
答案 0 :(得分:2)
来自评论:使用
Me.Controls.Clear()
而不是Me.ControlCollection.Clear()
或者更好的是,根本不要清除控件,只需更新控件的属性。
全部谢谢!