vb.net防止WebBrowser在新窗口中打…

在日常的开发中,大家有时需要用WebBrowser加载URL,来实现某些功能。而这时,我们就不希望所打开的页面中的链接,在新窗口中打开,因为这样的话,实际上是用系统默认的浏览器打开了,从而脱离了你的WebBrowser,也就不能被你所控制了。
要解决这个问题,可以使用下面的方法:
假设WebBrowser的Name是 webBrowser1
添加以下代码
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentComple tedEventArgs) Handles WebBrowser1.DocumentCompleted
        For Each archor As HtmlElement In Me.WebBrowser1.Document.Links   '将所有的链接的目标,指向本窗体    
            archor.SetAttribute("target", "_self")
        Next
        For Each form As HtmlElement In Me.WebBrowser1.Document.Forms   '将所有的FORM的提交目标,指向本窗体
            form.SetAttribute("target", "_self")
        Next
    End Sub

    Private Sub WebBrowser1_NewWindow(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
        e.Cancel = True
    End Sub
 
注意webbrowser1(或你的webbrowser名称)三个属性设置,如下
WebBrowser1 的 AllowWebBrowserDrop 设为 false

WebBrowser1 的 WebBrowserShortcutsEnabl ed 设为 false

WebBrowser1 的 IsWebBrowserContextMenuE nabled 设为 false
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vb.netwebbrowser事件包括以下几种: 1. DocumentCompleted:当WebBrowser控件完成文档的加载时发生。 2. Navigating:在WebBrowser控件开始导航到新文档之前发生。 3. Navigated:在WebBrowser控件完成导航时发生。 4. ProgressChanged:在WebBrowser控件下载文档时发生。 5. NewWindow:当WebBrowser控件需要创建新窗口时发生。 6. FileDownload:在WebBrowser控件下载文件时发生。 7. DocumentTitleChanged:当WebBrowser控件的文档标题发生变化时发生。 8. StatusTextChanged:当WebBrowser控件的状态文本发生变化时发生。 以上就是vb.netwebbrowser事件。 ### 回答2: VB.NETWebBrowser控件是一个非常有用的工具,可以用于在应用程序嵌入Web浏览器WebBrowser控件可以让用户通过应用程序访问Web,从而实现在同一窗口同时使用Web和本地应用程序功能的便利性。WebBrowser控件既可以用于WinForms应用程序,也可以用于WPF应用程序,这就使得它成为许多应用程序开发者的首选控件。 在使用WebBrowser控件时,常常需要对一些事件进行响应。下面就列举了一些常见的WebBrowser事件及其用法。 1. DocumentCompleted事件: 该事件在WebBrowser控件所加载的文档完成加载后触发,一般用户在WebBrowser控件加载完毕后再进行一些操作。 2. Navigated事件: 该事件在WebBrowser控件开始导航到新页面时触发,可以获取新页面的URL等相关信息。 3. NewWindow事件: 该事件在WebBrowser控件要打开一个新窗口时触发,可以通过该事件来阻止打开新的窗口或者手动弹出一个新窗口。 4. ProgressChanged事件: 该事件在WebBrowser控件加载文档时显示加载进度,默认情况下在地址栏也会显示加载的进度,可以用该事件用代码获取进度。 5. BeforeNavigate2事件: 该事件在WebBrowser控件开始导航到新页面时触发,可以阻止WebBrowser控件导航到某个网址。 6. NavigateError事件: 该事件在WebBrowser控件导航到新页面失败时触发,可以检测导航失败时的错误信息。 在使用WebBrowser控件时,不同的应用场景需要对不同的事件进行响应。通过对WebBrowser事件的理解,可以更好地掌握WebBrowser控件的使用方法,让我们的应用程序更加完善和优秀。 ### 回答3: vb.netWebBrowser控件是一种强大的工具,可以用来在窗体上嵌入浏览器WebBrowser控件支持多种事件,这些事件可以使用户在浏览网页时获得更好的体验,也可以让程序员通过事件来控制浏览器的行为和判断浏览器的状态。 WebBrowser控件的常用事件包括: 1. Navigating:在开始导航前发生。可以用来拦截导航请求,处理一些额外的操作,比如修改URL或者取消导航请求。 2. Navigated:在导航完成时发生。此事件仅在文档已经完成加载并呈现后才会触发。可以在此事件获取或修改文档属性。 3. DocumentCompleted:在文档完全加载之后发生。可以在此事件获取或修改文档属性或者执行一些脚本。 4. ProgressChanged:在浏览器下载文档时发生。可以用此事件在用户界面上显示进度条或者其他信息。 5. NewWindow:在导航请求需要在新窗口打开时发生。可以用此事件拦截请求,将网页在当前窗口打开或打开新窗口。 6. BeforeNavigate2:在开始导航前发生。比Navigating事件更早发生。 7. BeforeScriptExecute:在WebBrowser控件执行JavaScript脚本之前发生。可以在此事件拦截JavaScript脚本,处理一些额外的操作。 除了以上常用事件外,WebBrowser控件还有其他事件,如TitleChanged、StatusTextChanged等。这些事件可以帮助我们更好的了解和控制WebBrowser控件的行为。通过使用WebBrowser控件的事件,我们可以开发出具有扩展性和自定义性的Web应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值