Alternative à l'Application.DoEvents()

Je suis en train d'élaborer un système de messagerie basé sur le contrôle webBrowser pour que je puisse formater le texte cependant je s'il vous plaît. Lorsque l'utilisateur est hors ligne et est envoyé des messages, les messages sont stockés et un événement est envoyé pour chaque message quand ils se reconnecter. Lorsque j'ai mis le code html par défaut et pour le site, j'ai l'habitude d'utiliser:

while (this.webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();

Cela fonctionne lorsque le programme s'exécute normalement. Lorsque l'utilisateur reçoit le message est envoyé lorsqu'ils sont hors ligne, ce qui déclenche le message suivant de l'événement et ainsi de suite, avec chaque message, jusqu'à la dernière. Cela signifie que le dernier message envoyé lorsqu'ils sont hors ligne, est la seule affiche. J'aimerais quelque chose comme Application.DoEvents() qui permet le contrôle pour maintenir à jour et de chargement, mais cela ne veut pas déclencher d'autres événements.

Grâce

EDIT:

J'ai résolu le problème en supprimant la fonction DoEvents() complètement. Au lieu de changer la DocumentText que j'ai travaillé, j'ai mis en place un générateur de chaîne, puis définissez le format html tout à la fois à la fin.

Si vous appelez Application.DoEvents(), normalement, cela indique un défaut dans la conception de votre. Est-il une raison vous ne pouvez pas utiliser le 'terminé' événement?
J'ai essentiellement besoin de navigateur web à la fin du chargement, mais le thread en cours pour continuer à fonctionner. Je forme le message et de vérifier ensuite la sauvegarde de html. Si le code html est mal, je l'ai mise à jour, puis ajouter le message. Avant que j'ai jamais changer le texte du document I assurez-vous que le navigateur web est chargé et est au complet readystate.

OriginalL'auteur Nathan Tornquist | 2011-07-19