您的位置:首页 > 编程语言 > VB

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

2016-02-24 11:37 393 查看
在日常的开发中,大家有时需要用WebBrowser加载URL,来实现某些功能。而这时,我们就不希望所打开的页面中的链接,在新窗口中打开,因为这样的话,实际上是用系统默认的浏览器打开了,从而脱离了你的WebBrowser,也就不能被你所控制了。
要解决这个问题,可以使用下面的方法:
假设WebBrowser的Name是 webBrowser1
添加以下代码

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) 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 的 WebBrowserShortcutsEnabled 设为 false

WebBrowser1 的 IsWebBrowserContextMenuEnabled 设为 false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: