WinForms WebBrowser Control:すべてのリンクを新しい(IE)ウィンドウで外部的に強制的に開く

StackOverflow https://stackoverflow.com/questions/600564

質問

タイトルがすべてを網羅していると思います。コントロールを使用して、いくつかの基本的なHTMLをいくつかのマークアップとともに表示します。また、そこにリンクがある場合もあります。私がしたいことは、コントロール自体のページに移動するのではなく、リンクをクリックして新しいIEウィンドウで開くように強制することです。

アイデアはありますか

役に立ちましたか?

解決

Navigatingイベントを処理し、WebBrowserNavigatingEventArgsのCancelプロパティをtrueに設定し、Process.Startを使用してIEでURLを開くことができます。

次のようなもの:

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    // prevents WebBrowser to navigate
    if (e.Url.Host.Length > 0)    // Otherwise the default about:blank when you init the control doesn't work
    {
        e.Cancel = true;

        // Open the URL in an IE window 
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        process.StartInfo.FileName = e.Url.ToString();
        process.Start();
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top