轉帖|其它|編輯:郝浩|2008-09-24 11:43:28.000|閱讀 3112 次
概述:在VB.NET中如何使在Webbrowser中實現標簽頁中打開新鏈接
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
操作步驟:
1、在工程中添加COM的Microsoft Internet Controls的引用(這個引用對應的文件是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
'在窗體載入后設置Webbrowser的NewWindow3事件處理函數
'AddHandler DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).NewWindow3, AddressOf NewWindow3
'如果不是Windows XP SP2的話需要監控NewWindow2消息
AddHandler DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).NewWindow2, AddressOf NewWindow2
WebBrowser1.Navigate("//www.applevb.com")
End Sub
End Class
運行程序,可以看到新打開的窗口都會在TabControl1的新標簽頁abcd中打開.
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:個人博客