Estoy desarrollando un sistema de mensajería basado en controles webBrowser para que pueda formatear el texto como mejor me plazca. . Cuando el usuario está en línea y es enviado mensajes, los mensajes se almacenan y se envía un evento por cada mensaje cuando se vuelva a conectar cuando me puse el html por defecto y tal para la página web, que normalmente uso:Alternativa a Application.DoEvents()
while (this.webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
Esto funciona cuando el programa se ejecuta normalmente. Cuando el usuario recibe un mensaje enviado cuando están desconectados, esto activa el siguiente evento de mensaje, y así sucesivamente, con cada mensaje hasta el último. Esto significa que el último mensaje enviado cuando están desconectados es el único que se muestra. Me gustaría algo como Application.DoEvents() que permite que el control se mantenga actualizando y cargando, pero eso no desencadena otros eventos.
Gracias
EDIT:
I solucionó el problema mediante la eliminación de DoEvents() completamente. En lugar de cambiar DocumentText mientras trabajaba, configuré un generador de cadenas y luego configuré el html de una vez al final.
Si está llamando a 'Application.DoEvents()', normalmente eso indica un error en su diseño. ¿Hay alguna razón por la que no puedas usar el evento 'completado'? – leppie
Básicamente necesito que el navegador web termine de cargarse, pero el hilo actual se siga ejecutando. Formateo el mensaje y luego reviso el html de respaldo. Si el html es incorrecto, lo actualizo y luego agrego el mensaje. Antes de cambiar el texto del documento, me aseguro de que el navegador web esté cargado y esté completo. –