文字列からテキストボックスに変換するためにctypeを使用しています。これらのテキストボックスはフォーム上にあります。変換後、データを取得してテキストボックスに表示します。初めてフォームを開くと、すべてうまくいきます。フォームを終了して再実行すると、ctype はエラー "NullReferenceException" をスローします。debug で、1 つの ctype が何も返さないことがわかりました。なぜこれが起こるのですか?
以下のコード:
Private Sub CompanyId_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CompanyId.SelectedIndexChanged, FundType.SelectedIndexChanged, FundGroup.SelectedIndexChanged, Currency.SelectedIndexChanged, Frequency.SelectedIndexChanged, MngmtFees.SelectedIndexChanged
If INLOAD = True Then Exit Sub
Dim cmb As ComboBox
cmb = DirectCast(sender, ComboBox)
Dim TXTNAME As String
TXTNAME = cmb.Name & "_Name"
Dim NEWTEXT As TextBox = CType(Me.Controls(TXTNAME), TextBox)
*****If NEWTEXT Is Nothing Then MsgBox("hOW TO???")*****
If cmb.Name = "CompanyId" Then NEWTEXT.Text = dc.Tables("Company").Rows(cmb.FindStringExact(cmb.Text)).Item(1).ToString
If InStr(cmb.Name, "Fees") > 0 Then NEWTEXT.Text = dc.Tables("Fees").Rows(cmb.FindStringExact(cmb.Text)).Item(1).ToString
If NEWTEXT.Text = "" Then NEWTEXT.Text = dc.Tables(cmb.Name).Rows(cmb.FindStringExact(cmb.Text)).Item(1).ToString()