轉(zhuǎn)帖|其它|編輯:郝浩|2008-09-24 11:43:28.000|閱讀 3112 次
概述:在VB.NET中如何使在Webbrowser中實(shí)現(xiàn)標(biāo)簽頁中打開新鏈接
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
操作步驟:
1、在工程中添加COM的Microsoft Internet Controls的引用(這個引用對應(yīng)的文件是shdocvw.dll,通常在system32目錄下)。
2、如下代碼:
Public Class Form1Class Form1
Private Sub NewWindow3()Sub NewWindow3(ByRef ppDisp As Object, ByRef Cancel As Boolean, _
ByVal dwFlags As UInteger, _
ByVal bstrUrlContext As String, ByVal bstrUrl As String)
Dim xPage As TabPage = New TabPage
xPage.Text = "abcd"
TabControl1.TabPages.Add(xPage)
Dim x As New WebBrowser
DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).RegisterAsBrowser = True
xPage.Controls.Add(x)
x.Dock = DockStyle.Fill
x.Visible = True
x.Navigate(bstrUrl)
Cancel = True
End Sub
Private Sub NewWindow2()Sub NewWindow2(ByRef ppDisp As Object, ByRef Cancel As Boolean)
Dim xPage As TabPage = New TabPage
xPage.Text = "abcd"
TabControl1.TabPages.Add(xPage)
Dim x As New WebBrowser
DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).RegisterAsBrowser = True
xPage.Controls.Add(x)
x.Dock = DockStyle.Fill
x.Visible = True
x.Navigate("about:blank")
ppDisp = x.ActiveXInstance 'DirectCast(x.ActiveXInstance, SHDocVw.WebBrowser).Application
'Cancel = True
End Sub
Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在窗體載入后設(shè)置Webbrowser的NewWindow3事件處理函數(shù)
'AddHandler DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).NewWindow3, AddressOf NewWindow3
'如果不是Windows XP SP2的話需要監(jiān)控NewWindow2消息
AddHandler DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).NewWindow2, AddressOf NewWindow2
WebBrowser1.Navigate("//www.applevb.com")
End Sub
End Class
運(yùn)行程序,可以看到新打開的窗口都會在TabControl1的新標(biāo)簽頁abcd中打開.
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:個人博客