在VB.NET中如何使在Webbrowser中实现标签页中打开新链接

操作步骤:
1、在工程中添加COM的Microsoft Internet Controls的引用(这个引用对应的文件是shdocvw.dll,通常在system32目录下)。
2、如下代码:

 


Public   Class Form1
    
Private Sub NewWindow3(ByRef ppDisp As ObjectByRef Cancel As Boolean, _
            
ByVal dwFlags As UInteger, _
            
ByVal bstrUrlContext As StringByVal 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(ByRef ppDisp As ObjectByRef 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(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(
"http://www.applevb.com")
    
End Sub


End Class


运行程序,可以看到新打开的窗口都会在TabControl1的新标签页abcd中打开.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: VB.NET 没有直接的 UserDocument1 控件,但是可以使用类似的 Document 对象来实现类似的功能。 你可以使用 ToolStripContainer 控件,它可以作为一个容器,把多个 ToolStrip 面板放在不同的文档视图,与 VB6 的 UserDocument 控件类似。 此外,还可以使用 TabControl 控件,它可以在同一窗口创建多个标签,并在每个标签放置不同的控件,以实现类似的功能。 ### 回答2: 在VB.NET,UserDocument1控件可以用RichTextBox控件来替代。RichTextBox控件具有类似于UserDocument1控件的功能,可以用于处理和编辑文本内容。与UserDocument1控件相比,RichTextBox控件提供了更多的功能和选项,如文本格式化、插入图片和超链接等。使用RichTextBox控件可以更方便地对文本进行处理和展示。根据实际需求,还可以通过编写代码来扩展和定制RichTextBox控件的功能。因此,将UserDocument1控件替换为RichTextBox控件是在VB.NET实现相似功能的一种可行选择。 ### 回答3: 在VB6,UserDocument1控件是一种用于创建自定义文档的控件。然而,在VB.NET,UserDocument1控件没有直接的对应控件。在VB.NET,可以使用不同的控件来实现类似的功能。以下是一些常用的控件可以用来替代UserDocument1控件: 1. RichTextBox控件:RichTextBox控件提供了一种文本编辑器的功能,可以处理格式化文本和插入图像等操作。它可以用来创建自定义文档,提供了丰富的文本和格式化功能。 2. DataGridView控件:DataGridView控件是用于显示和编辑表格数据的控件,可以对数据进行增删改查的操作。它可以用来呈现自定义文档的表格数据。 3. WebBrowser控件:WebBrowser控件是嵌入式浏览器控件,可以用来显示和操作网内容。它可以用来显示自定义文档的网内容。 4. FlowLayoutPanel控件:FlowLayoutPanel控件是一个容器控件,可以用来动态排列其子控件。它可以用来创建动态布局的自定义文档,以便更好地适应不同的屏幕尺寸和分辨率。 需要根据具体的需求来选择适合的控件来代替UserDocument1控件,以上仅提供了一些常见的选择,具体使用哪种控件还需要根据实际情况来决定。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值