IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

WebBrowser1_DocumentCompleted qui se répète plusieurs fois


Sujet :

VB.NET

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut WebBrowser1_DocumentCompleted qui se répète plusieurs fois
    Bonjour

    j'ai un petit problème qui me nargue, une aide de votre part serait bien apprécié.

    sur chargement d'un webbrowser la fonction documentCompleted se répète plusieurs fois sans aucune actions de ma part

    mon code est:
    TSLLettre.Text = a
    TSLChiffre.Text =1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Nav()
            Form1.TSSLEtat.Text = "En cour"
            Dim Adresse As String = "http://www.bloomberg.com/markets/companies/a-z/" & TSLLettre.Text & "/" & TSLChiffre.Text & "/"
     
            WebBrowser1.Navigate(Adresse)
     
        End Sub
     
    Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
                    Dim bool As Boolean = True
     
     
     
            Form1.TSSLEtat.Text = "Terminé"
        End Sub
    merci de vos suggestions
    Mario

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir mario,

    Il faudrait voir dans quel contexte est appelée ta "Sub Nav" exactement ??

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    Simplement par un bouton, je le fait de cette façon car je désir recharger une nouvelle navigation en appuyant sut les labels mais pour l'instant ils sont désactivés.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Navig_Click(sender As Object, e As EventArgs) Handles Navig.Click
            Nav()
        End Sub
     
     Private Sub TSLChiffre_Click(sender As Object, e As EventArgs) Handles TSLChiffre.Click
            IntChiffre += 1
            TSLChiffre.Text = IntChiffre.ToString
            'Nav()
        End Sub

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    j'ai vérifié et le sub Nav est lancé une seul fois et le documentcomplete fait au moins 3 tours

    merci

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
        Sub Nav()
     
                Form1.TSSLEtat.Text = "En cours"
     
                Dim Adresse As String = "http://www.bloomberg.com/markets/companies/a-z/" & TSLLettre.Text
                WebBrowser1.Navigate(Adresse)
                'Abonnement au gestionnaire d'évènement
                AddHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaited)
                While Not pageLoaded
                    Application.DoEvents()
                End While
                pageLoaded = False
        End Sub
     
        Private Property pageLoaded As Boolean = False
        Private Sub PageWaited(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
            If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
                pageLoaded = True
                'Suppression de l'Abonnement au gestionnaire. Ainsi pas de répétitions !!
                RemoveHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaited)
     
                Form1.TSSLEtat.Text = "Terminé"
            End If
        End Sub

    A+

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    Merci beaucoup Walace ça fonctionne à 100/100

    comportement bizarre que je m'explique pas par contre

    encore merci ...très apprécié

    Mario

  7. #7
    Membre régulier
    Homme Profil pro
    médical
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : médical

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Points : 71
    Points
    71
    Par défaut
    salut très tard pour y répondre, mais ce comportement vient du fait que pour les scripts et autres qui se charge dans le header, il déclenche aussi cet événement.

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    conseiller d'écrire un doevents ? sérieusement ?
    cette instruction est à bannir !

    en effet ca vient du fait que si la page contient des script ou des sous pages, elles sont chargées aussi, donc lèvent l'event aussi
    par contre sur e dans l'event completed tu as des infos, donc tu peux savoir si c'est bien la page globale qui a levé l'event (e.url ou un truc dans le genre, à comparer avec ton url)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Quelques années plus tard hehehe!!!
    Merci Pol63
    je viens de tester ton post et ça fonctionne bien, et c'est plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If e.Url.ToString = WB.Document.Url.ToString Then
     
    bla bla
     
    end if

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/03/2013, 14h17
  2. Formulaire qui se submit plusieurs fois
    Par otterley dans le forum Struts 1
    Réponses: 12
    Dernier message: 08/02/2008, 16h49
  3. Réponses: 2
    Dernier message: 23/07/2007, 06h14
  4. [VB.NET]Procédure qui s'éxécute plusieurs fois
    Par ropiet dans le forum Windows Forms
    Réponses: 13
    Dernier message: 25/08/2006, 17h21
  5. code qui s'execute plusieurs fois
    Par khelif dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo