起初我试过这个:
Public Class frmWait
Public Sub New(ByVal uWindowText As String, ByVal uInfoText As String)
Me.Text = uWindowText
Me.lblInfoText.Text = uInfoText
End Sub
End Class
但是当我像这样启动表格时
Dim wait As New frmWait("blah", "blah")
wait.Show()
...它在这一行告诉我“NullReference Exception”:
Me.lblInfoText.Text = uInfoText
设置表单的文本工作正常。好的,当我尝试设置文本时,我怀疑标签尚未创建。
然后我尝试了以下。我将文本存储在一个变量中,并希望在创建控件时设置它们。我认为“Form_Load”是一个很好的事件:
Public Class frmWait
Private m_sWindowText As String = ""
Private m_sInfoText As String = ""
Public Sub New(ByVal uWindowText As String, ByVal uInfoText As String)
'we can not set the texts right away because lblInfo does not seem to exist yet
m_sWindowText = uWindowText
m_sInfoText = uInfoText
End Sub
Private Sub frmWait_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Text = m_sWindowText
Me.lblInfoText.Text = m_sInfoText
End Sub
End Class
但它抛出了同样的错误。Ehhhhh,我什么时候可以设置控件的文本?我犯了初学者的错误吗?