El control de formularios de Windows WebBrowser es envoltorio alrededor de Internet Explorer y no expone toda la funcionalidad del control ActiveX subyacente y particularmente el evento NavigateError. Aquí hay una solución alternativa:
Primero agregue la referencia a SHDocVw.dll a su proyecto (pestaña COM de la ventana Agregar referencia). A continuación, puede hacer lo siguiente para capturar errores:
private void button1_Click(object sender, EventArgs e)
{
SHDocVw.WebBrowser instance = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
instance.NavigateError += new SHDocVw.DWebBrowserEvents2_NavigateErrorEventHandler(instance_NavigateError);
webBrowser1.Navigate("http://www.google.com/foo");
}
void instance_NavigateError(object pDisp, ref object URL, ref object Frame, ref object StatusCode, ref bool Cancel)
{
// Do whatever you want with the error
}
Gracias, eso es perfecto! Buena respuesta. – tpower