WPFでWebBrowserコントロールが新しいウィンドウを開くことを禁止

2812 ワード


一、純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 });

        }

    }

Webページを表示する前に、次の文を呼び出すだけです.
this.webBrower1.SuppressScriptErrors(true);

二、新しいウィンドウイベントを傍受する:


【WPF】WPFのWebBrowser Controll傍受了新的温德尔提高的活动


三、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