我的目标是创建一个在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)
。作为旁注,它表示"对象引用未设置为对象的实例。"
任何人都知道这里的问题是什么?谢谢。
答案 0 :(得分:0)
经过一个多小时的调试后,我查看了我的代码,看到我遗漏了很大一部分内容。我把它全部写进来并且工作正常。问题是标签没有被正确定义(在某些情况下,根本没有定义),因此.Tag
正在返回Nothing
。
感谢所有帮助过的人。