WinForms WebBrowser controle: Força todos os links para abrir externamente em uma nova janela (IE)
-
03-07-2019 - |
Pergunta
Eu acho que as tampas título tudo. Eu uso o controle para exibir algum HTML básico com algumas marcações e há talvez também links em lá. O que eu quero fazer, é clicar vigor em qualquer link para obter este link aberto em uma nova janela do IE em vez de navegar para essa página no próprio controle.
Qualquer idéia?
Solução
Você pode manipular o evento Navigating, defina a propriedade de WebBrowserNavigatingEventArgs Cancelar para verdadeiro, e usar Process.Start para abrir a URL no IE.
Algo parecido com isto:
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();
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow