ExtendedWebBrowser 用法,该怎么解决

ExtendedWebBrowser 用法
找了很久关于VB.NET WEBBROWSER 新链接在原窗口打开的方法,找了很久没解决 ,发现不少人用 ExtendedWebBrowser
但本人VB.NET新手,不太懂得用 ExtendedWebBrowser,以下是ExtendedWebBrowser的源码,请教如何使用
ExtendedWebBrowser:
VB.NET code

Imports System.Runtime
Imports System.ComponentModel

Public Class ExtendedWebBrowser
    Inherits WebBrowser

    Private cookie As AxHost.ConnectionPointCookie
    Private Shadows events As WebBrowserExtendedEvents
    Private Const WM_PARENTNOTIFY As Integer = &H210
    Private Const WM_DESTROY As Integer = 2

    Public Event WindowClosing()
    Public Event NewWindowWithTaget As EventHandler(Of WebBrowserExtendedNavigatingEventArgs)

    Protected Overrides Sub WndProc(ByRef m As Message)
        Select Case m.Msg
            Case WM_PARENTNOTIFY
                If (Not DesignMode) AndAlso (m.WParam = WM_DESTROY) Then RaiseEvent WindowClosing()
                DefWndProc(m)
            Case Else
                MyBase.WndProc(m)
        End Select
    End Sub

    Protected Overloads Overrides Sub CreateSink()
        MyBase.CreateSink()
        events = New WebBrowserExtendedEvents(Me)
        cookie = New AxHost.ConnectionPointCookie(Me.ActiveXInstance, events, GetType(DWebBrowserEvents2))
    End Sub

    Protected Overloads Overrides Sub DetachSink()
        If cookie IsNot Nothing Then
            cookie.Disconnect()
            cookie = Nothing
        End If
        MyBase.DetachSink()
    End Sub

    Protected Sub OnNewWindow3(ByVal url As String, ByVal e As WebBrowserExtendedNavigatingEventArgs)
        RaiseEvent NewWindowWithTaget(Me, e)
    End Sub


    Private Class WebBrowserExtendedEvents
        Inherits System.Runtime.InteropServices.StandardOleMarshalObject
        Implements DWebBrowserEvents2

        Private _Browser As ExtendedWebBrowser

        Public Sub New(ByVal browser As ExtendedWebBrowser)
            _Browser = browser
        End Sub

        Public Sub NewWindow3(ByVal pDisp As Object, ByRef cancel As Boolean, ByRef flags As Object, ByRef hostURL As Object, ByRef URL As Object) _
            Implements DWebBrowserEvents2.NewWindow3

            Dim args As New WebBrowserExtendedNavigatingEventArgs(URL)
            args.Cancel = cancel
            _Browser.OnNewWindow3(URL, args)
            cancel = args.Cancel
        End Sub
    End Class


    <InteropServices.ComImport(), InteropServices.Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D"), _
    InteropServices.InterfaceTypeAttribute(InteropServices.ComInterfaceType.InterfaceIsIDispatch), _
    InteropServices.TypeLibType(InteropServices.TypeLibTypeFlags.FHidden)> _
    Public Interface DWebBrowserEvents2

        <InteropServices.DispId(273)> _
        Sub NewWindow3(ByVal pDisp As Object, ByRef cancel As Boolean, ByRef flags As Object, ByRef hostURL As Object, ByRef URL As Object)

    End Interface
End Class


Public Class WebBrowserExtendedNavigatingEventArgs
    Inherits CancelEventArgs

    Private _Url As String
   
    Public Sub New(ByVal url As String)
        _Url = url
    End Sub

    Public ReadOnly Property Url() As String
        Get
            Return _Url
        End Get
    End Property

End Class

'调用时使用下面的事件 /////楼主注解:以下代码是放在带WEBBROWSER控件 FORM窗口?
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
        Dim NewUrl As String
        NewUrl = CType(sender, Windows.Forms.WebBrowser).Document.ActiveElement.GetAttribute("href")
        ''NewUrl = CType(sender, Windows.Forms.WebBrowser).StatusText
        RaiseEvent NewExplorer(NewUrl)'打开新的一页或窗体
        e.Cancel = True
    End Sub

    Private Sub WebBrowser1_NewWindowWithTaget(ByVal sender As Object, ByVal e As WebBrowserExtendedNavigatingEventArgs) Handles WebBrowser1.NewWindowWithTaget
        RaiseEvent NewExplorer(e.Url)'打开新的一页或窗体
        e.Cancel = True
    End Sub




------解决方案--------------------