El control WebBrowser se considera "en uso" si actualmente se está procesando una acción de navegación o si cualquier diálogo de bloqueo del control está actualmente abierto (incluyendo menú contextual, alertas de Javascript, diálogo de inicio de sesión de NTLM, etc.). Puede usar la propiedad WebBrowser.IsBusy
para detectar estos estados.
Si debido a una acción de navegación actualmente incompleta, puede intentar detener la navegación actual (si realmente desea detenerla cuando la página no está cargada) o agregar la nueva navegación a una cola de solicitud y usar un temporizador para espere hasta que WebBrowser.IsBusy
devuelva falso.
Si en cambio el estado ocupado se debe a uno o más diálogos de bloqueo abiertos, puede hacer la misma técnica de espera y quizás Messagebox.Show()
el usuario un mensaje que la navegación pendiente se retrasa debido a una ventana de diálogo abierta.
¿Cómo está usando WebBrowser? ¿Estás navegando a través de la interacción del usuario o mediante programación? ¿Podría publicar algún código que muestre cómo se inicializó la navegación? –
¿Cuándo obtienes el arror? ¿Hay algún cuadro de mensaje en el navegador? –
DocumentComplete se genera una vez por cuadro antes de una última vez para la página. ¿Hay marcos en la página? –