WebBrowser: exécution de commandes quand page chargée [Résolu]

Signaler
Messages postés
54
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 mai 2011
-
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Salut à tous!!

Voila, j'ai un webBrowser qui se lance lorsqu’on clique sur mon bouton.
Je veux ensuite qu'une série de commande soit lancée quand la page est chargé.
Je ne veux pas faire de méthode type:

 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

            MessageBox.Show("c'est chargé", "test", MessageBoxButtons.OK);
        }


Le problème c'est que j'aurai un MessageBox à chaque fois que la page est complétée (c'est à dire en gros à chaque 'mise à jour' de la page).


Je voudrais que mes commandes ne se lance que lorsque je clique sur le bouton et que la page est chargée. En gros je voudrais un truc du genre (je sais que ce que je vais écrire est scandaleux, mais c'est juste pour donner une idée de ce que je voudrais faire):



 private void button1_Click(object sender, EventArgs e)
        {
          
            webBrowser1.Navigate("http://www.google.fr");
            
            if (webBrowser1.DocumentCompleted == true)
            {
                MessageBox.Show("test", "test", MessageBoxButtons.OK);
            }
           
                    
        }


J’espère avoir été clair.
Merci d'avance pour votre aide.

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
61
de tete, je n'ai pas le terme exact pour le ...Complete

mais suffit de faire :

while (WebBrowser1.readystate!=...COMPLETE)
Application.DoEvents();


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
54
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 mai 2011

Ca marche, merci beaucoup!!!

Voila le code pour ceux que ça intéresserait:



while (webBrowser1.ReadyState.ToString() != "Complete")
            {
                Application.DoEvents();

            }
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
61
non, ce n'est pas ainsi qu'il vaut mieux le coder:
inutile de passer par un String.

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


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp