VB单击链接在新标签页中打开

时间:2014-02-19 17:42:15

标签: vb.net

我一直在寻找一些代码来做这件事,我发现了一对。他们中的大多数都没有工作,但我正试图让这个工作。

Private Sub WebBrowser1_NewWindow(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
    'This creates a new tab
    Dim tp As New TabPage
    TabControl1.Controls.Add(tp)

    'This creates a new webbrowser with the NewWindow Event
    'And navigates it to the link wanting to be opened
    Dim wb As New WebBrowser
    Dim myElement As HtmlElement = WebBrowser1.Document.ActiveElement
    Dim target As String = myElement.GetAttribute("href")
    With wb
        .Navigate(target)
        .Dock = DockStyle.Fill
    End With

    AddHandler wb.NewWindow, AddressOf WebBrowser_NewWindow

    tp.Controls.Add(wb)

    'This prevents ie from popping up
    e.Cancel = True
End Sub

但是我在这里WebBrowser_NewWindow收到错误,当我检查并查看它的内容时,我被告知WebBrowser_NewWindow Is Not Declared. It may be inaccessible due to protection level我该如何解决这个问题?

完整代码

Public Class Form2

    Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.BringToFront()
        WebBrowser1.Navigate("www.google.com")
    End Sub

    Private Sub IClarityButton2_Click_1(sender As Object, e As EventArgs) Handles IClarityButton2.Click
        If TextBox2.Text = "Close" Then
            End
        Else
            TextBox2.Text = "Invalid"
        End If
    End Sub

    Private Sub WebBrowser1_NewWindow(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
        'This creates a new tab
        Dim tp As New TabPage
        TabControl1.Controls.Add(tp)

        'This creates a new webbrowser with the NewWindow Event
        'And navigates it to the link wanting to be opened
        Dim wb As New WebBrowser
        Dim myElement As HtmlElement = WebBrowser1.Document.ActiveElement
        Dim target As String = myElement.GetAttribute("href")
        With wb
            .Navigate(target)
            .Dock = DockStyle.Fill
        End With

        'AddHandler wb.NewWindow, AddressOf WebBrowser_NewWindow

        tp.Controls.Add(wb)

        'This prevents ie from popping up
        e.Cancel = True
    End Sub

End Class

1 个答案:

答案 0 :(得分:0)

尝试删除AddHandler wb.NewWindow, AddressOf WebBrowser_NewWindow