我正在使用ctype從字符串轉換爲文本框。這些文本框存在於表單上。轉換後,我得到數據並顯示在文本框中。我第一次打開表格一切順利。在退出並重新運行表單後,ctype會拋出一個錯誤「NullReferenceException」。在調試時,我發現一個ctype沒有任何返回。 這是爲什麼發生?如下Ctype轉換拋出一個錯誤vb.net
代碼:
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()
謝謝菲爾。我遇到的問題是,儘管我在窗體上有文本框,但它仍然會拋出null。我想知道爲什麼?如果發生這種情況,我們應該怎麼做? – Nelsons 2013-04-28 16:18:53
是CType還是DirectCast引發的異常? – 2013-04-28 16:20:02
在嘗試轉換之前,您能否檢查您是否在TXTNAME中有正確的值? – 2013-04-28 16:21:12