Управление веб-браузером WinForms:Принудительно открывайте все ссылки извне в новом окне (IE)

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

Вопрос

Я думаю, что название охватывает все это.Я использую элемент управления для отображения некоторого базового HTML-кода с некоторыми пометками, и, возможно, там также есть ссылки.Что я хочу сделать, так это принудительно щелкнуть по любой ссылке, чтобы открыть эту ссылку в новом окне IE вместо перехода на эту страницу в самом элементе управления.

Есть какие-нибудь идеи?

Это было полезно?

Решение

Вы можете обработать событие навигации, установить свойству Cancel WebBrowserNavigatingEventArgs значение true и использовать Process .Начните открывать URL-адрес в IE.

Что - то вроде этого:

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