获得NullRefrenceException并且无法找出原因?

时间:2015-02-03 02:14:15

标签: vb.net browser nullreferenceexception

我的目标是创建一个在VB中具有选项卡系统的Web浏览器。由于我无法明确命名用户将使用的每个新选项卡,因此我必须进行更广泛的调用。这是冲突的代码(我的btnGo):

Dim thisBrowser As newWebBrowser = Me.tabBrowser.SelectedTab.Tag
    If txtAdressSearch.Text.Contains(".com") Or txtAdressSearch.Text.Contains(".net") Or txtAdressSearch.Text.Contains(".gov") Or txtAdressSearch.Text.Contains(".edu") Or txtAdressSearch.Text.Contains(".org") Then 'More to be checked for
        thisBrowser.Navigate(txtAdressSearch.Text)
    Else
        thisBrowser.Navigate("https://www.google.com/search?sourceid=chrome-psyapi2&rlz=1C1ASAA_enUS445&ion=1&espv=2&ie=UTF-8&q=" + txtAdressSearch.Text)
    End If

这里是newWebBrowser代码:

Public Class newWebBrowser
Inherits WebBrowser

Private Sub webBrowserComplete() Handles Me.DocumentCompleted
    Dim newTab As TabPage = frmBrowser.Tag()
    Dim frmSK As New frmBrowser
    Dim hi As String
    newTab.Text = Me.DocumentTitle
    frmSK.txtAdressSearch.Text = Me.Url.ToString

End Sub

结束班

每当我在txtAdressSearch中输入内容时,Visual Studio都会引发NullRefrenceException并突出显示thisBrowser.Navigate(txtAdressSearch.Text)。作为旁注,它表示"对象引用未设置为对象的实例。"

任何人都知道这里的问题是什么?谢谢。

1 个答案:

答案 0 :(得分:0)

经过一个多小时的调试后,我查看了我的代码,看到我遗漏了很大一部分内容。我把它全部写进来并且工作正常。问题是标签没有被正确定义(在某些情况下,根本没有定义),因此.Tag正在返回Nothing

感谢所有帮助过的人。