WinForms WebBrowser Steuerung: alle Links Erzwingen von außen zu öffnen in einem neuen (IE) Fenster

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

Frage

Ich denke, der Titel deckt alles ab. Ich benutze die Steuerung einige grundlegende HTML mit einigen Markups angezeigt werden und es gibt vielleicht auch Links drin. Was ich tun möchte, ist keine Verbindung zu erzwingen, klicken Sie diesen Link in einem neuen IE-Fenster geöffnet zu bekommen, anstatt sich in der Kontrolle auf dieser Seite zu navigieren.

Jede Idee?

War es hilfreich?

Lösung

Sie können das Navigating-Ereignis behandeln, das Eigentum von WebBrowserNavigatingEventArgs auf true Abbrechen gesetzt, und verwenden Sie Process.Start die URL im Internet Explorer zu öffnen.

So etwas wie folgt aus:

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();
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top