我正在尝试将“home”中“comp”的文本分配给“home”形式的名为“d1”的文本框。 但这需要以“家”形式的柜台来完成。 代码在一个模块中。 我尝试了什么=
home.controls("d" & home.counter).text = home.comp.text
我一直收到错误:
use the new keyword to create an object instance ==> the textbox exists in the form
check to determine if the object is null before calling the method ==> the textbox is empty
get general help for this exception
答案 0 :(得分:0)
您可以使用Controls.Find
:
Dim controls = home.Controls.Find("d" & home.counter, True)
If controls.Length > 0 Then
Dim txt = TryCast(controls(0), TextBoxBase)
If txt IsNot Nothing Then
txt.Text = home.comp.text
End If
End If
但是,通常我不会使用这种方法,因为它容易出错。为什么不以Home
形式提供您可以访问的公共财产?此属性将获取/设置TextBox
'Text
。
例如:
Public Property HomeCompText As String
Get
Return txtHomeComp.Text
End Get
Set(value As String)
txtHomeComp.Text = value
End Set
End Property
现在您可以使用这个清晰,安全且可维护的代码:
home.HomeCompText = home.comp.text
您甚至可以更改基础控件。