首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

ExtendedWebBrowser 用法,该怎么解决

2012-04-10 
ExtendedWebBrowser 用法找了很久关于VB.NET WEBBROWSER 新链接在原窗口打开的方法,找了很久没解决 ,发现

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

VB.NET code
Imports System.RuntimeImports System.ComponentModelPublic 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 InterfaceEnd ClassPublic 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 PropertyEnd 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



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


ExtendedWebBrowser
[解决办法]
ExtendedWebBrowser 是一个完整的项目

你不可能 扣 出来一部分代码 去用

你只能在他的基础上继续开发 ExtendedWebBrowser 的路也很遥远

而且 ExtendedWebBrowser 本身有功能缺陷 你的自己补充

热点排行