相关疑难解决方法(0)

Web浏览器用于处理应用程序中的弹出窗口

我试图使用WebBrowser控件来启动弹出窗口的新窗体,而不是在IE中打开它.我试图使用AxWebBrowser来获取与NewWindow3事件一起工作的弹出窗口e.ppDisp = AxWebBrowser.Application,但是AxWebBrowser有许多限制.因此,我试图扩展普通的WebBrowser以包含像AxWebBrowser一样的NewWindow3事件但遇到问题.随着e.ppDisp = AxWebBrowser.Application我得到的错误:"InvalidVariant检测",其次是"指定的OLE变量无效"如果我继续.

注意:这是我第一次扩展课程,所以我可能会看到一些简单的东西.如果我尝试在新窗口中导航到新URL,我会从站点获取java脚本错误.

我已根据评论更新了代码库.已经删除了ExtendedWebBrowser类,以获得更小更好的版本.这是新代码:

从主窗体和一个非常相似的BrowserPopup表单 -

Protected Overrides Sub OnLoad(ByVal e As EventArgs)
    MyBase.OnLoad(e)
    nativeBrowser = DirectCast(ExtendedWebBrowser1.ActiveXInstance, SHDocVw.WebBrowser)
    AddHandler nativeBrowser.NewWindow3, AddressOf nativeBrowser_NewWindow3
    AddHandler nativeBrowser.WindowClosing, AddressOf nativeBrowser_WindowClosing
End Sub

Private Sub nativeBrowser_NewWindow3(ByRef ppDisp As Object, ByRef Cancel As Boolean, ByVal dwflags As UInteger, ByVal bStrUrlContext As String, ByVal bstrUrl As String)
    Dim popup = New BrowserPopup()
    popup.Show(Me)
    popup.browserPop.DocumentText = bStrUrlContext
    ppDisp = popup.browserPop.ActiveXInstance
End Sub

Private Sub nativeBrowser_WindowClosing(ByVal IsChildWindow As Boolean, ByRef Cancel As …
Run Code Online (Sandbox Code Playgroud)

browser webbrowser-control axwebbrowser popupwindow vb.net-2010

4
推荐指数
1
解决办法
8364
查看次数