WPF中禁止WebBrowser控件打开新窗口

时间:2020-12-08 03:15:41

一、针对纯WPF的WebBrowser控件:

<summary>
Suppress Script Errors In WPF WebBrowser
</summary>
public static class WebBrowserExtensions
{
public static void SuppressScriptErrors(this WebBrowser webBrowser, bool hide)
{
FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
if (fiComWebBrowser == null) return; object objComWebBrowser = fiComWebBrowser.GetValue(webBrowser);
if (objComWebBrowser == null) return; objComWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { hide });
}
}

只需在显示网页前调用以下语句即可:

this.webBrower1.SuppressScriptErrors(true);

二、监听新窗口事件:

【WPF】监听WPF的WebBrowser控件弹出新窗口的事件

三、WPF中使用WinForm的WebBrowser控件

【WPF界面添加WinForm的Webbrowser控件】http://www.360doc.com/content/12/0621/18/10255389_219673956.shtml

【C# webBrowser禁止在新窗口打开,强制在本窗口打开】http://blog.csdn.net/lassewang/article/details/8234721