Attendre le Chargement d'un WebBrowser

Résolu
DiJiTooL Messages postés 78 Date d'inscription samedi 4 août 2001 Statut Membre Dernière intervention 29 mars 2007 - 15 juin 2006 à 17:18
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 - 16 juin 2006 à 10:46
Bonjour,
Je vous explique mon problème:
J'ai une liste d'URL à executer, et j'aimerai faire cela via un webbrowser afin de prendre en compte les config d'internet explorer: proxy ect...

Cependant si je lance l'execution des urls les unes à la suite des autres il n'execute que la dernière car les autres n'ont pas le temps de charger...
J'ai essayer de mettre une variable booleene global et la mettre à true une fois que la page est chargé ( Webbrowser_DocumentCompleted(..){MonBool=true;}  ) quelque chose dans ce genre.
et ensuite mettre une boucle while(!MonBool); aprés l'execution de mon url mais la seule chose que j'obtient c'est un freeze de ma form :(
Existe t'il un moyen d'arreter l'execution du code tant que le webbrowser n'est pas chargé, Ou une fonction du webbrowser qui renverrai quelquechose une fois qu'il est chargé?

Merci d'avance pour vos réponses.

6 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
16 juin 2006 à 00:53
Salut, peut être quelqu'un qui connait mieux le WebBrowser trouvera une meilleure solution sinon essaye ça :

this.webBrowser1.Navigate( "www.wickedweasel.com" );


while ( this.webBrowser1.ReadyState != WebBrowserReadyState.Complete )
{
    Application.DoEvents( ); // Empêche la forme de freezer.
}


MessageBox.Show( this.webBrowser1.ReadyState.ToString( ) );
3
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
16 juin 2006 à 00:57
Bah même si tu l'avais vu, t'as le droit de dire ce que tu pense :)

::|The S@ib|:: MVP C#.NET
1
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
16 juin 2006 à 00:44
Ta méthode n'était pas trop mauvaise , il manquait juste un Application.DoEvents pour eviter les freeze.

Le mieux quand même serait declancher le changement d'url dans ton DocumentCompleted.

Premier lancement à la main, et puis dans le DocumentCompleted tu dépiles tes urls en utilisant les queues par exemple du namespace Collection.Specialized.

::|The S@ib|:: MVP C#.NET
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
16 juin 2006 à 00:54
Oups, j'avais pas vu ta réponse TheSaib.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DiJiTooL Messages postés 78 Date d'inscription samedi 4 août 2001 Statut Membre Dernière intervention 29 mars 2007
16 juin 2006 à 07:50
Merci beaucoup les gars.
Le problème de déclencher le changement d'url dans le DocumentCompleted est que je génére les urls avec une boucle while à partir d'un fichier excel donc cela me parrait assez compliquer à mettre en oeuvre.
La technique de Lutinore marche nikel, en plus ça allege un peu le code .
Merci encore à vous deux.
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
16 juin 2006 à 10:46
Echec pour moi, même si rien ne t'empechais d'intialiser ta pile au démarrage de ton application.

::|The S@ib|:: MVP C#.NET
0
Rejoignez-nous