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 :

ProgressBar & BackGroundWorker


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Par défaut ProgressBar & BackGroundWorker
    Bonjour,

    J'ai créer un logiciel qui permet de télécharger aléatoirement des images sur imgur, pour fonctionner il faut choisir combien d'images télécharger puis selectionner le dossier ou enregistrer celles-ci, une fois que l'on clique sur le bouton démarrer cela met en route le backgroundworker qui fait une boucle en fonction du nombre d'images que l'on veut.

    Nom : Screenshot_5.png
Affichages : 380
Taille : 35,5 Ko

    voici le code :

    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
     Private Sub BackgroundWorker1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
     
            Dim x As Integer = 1
     
            Do Until (x = tbnbrimg.Text + 1)
                Dim count = 0
                tbalea.Text = ""
                Dim cc As New Random
                Dim strpos = ""
                While count <= 4
                    strpos = cc.Next(0, Variable.Length)
                    tbalea.Text = tbalea.Text & Variable(strpos)
                    count = count + 1
                End While
     
                tburl.Text = "http://i.imgur.com/" & tbalea.Text & ".jpg"
                PictureBox1.Load(tburl.Text)
                My.Computer.Network.DownloadFile(tburl.Text, tbsaveas.Text & "\" & tbalea.Text & ".png")
                x = x + 1
            Loop
     
     
        End Sub
    J'aimerai que l'avancement des téléchargements soit retransmis dans une progressbar mais je n'y arrive pas, comment faut il faire?

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Par défaut
    Hello,

    Tu ajoutes un progressbar à ton projet.
    Au début de ton code tu mets la propriété maximum sur le nombre d'image à télécharger.

    A chaque tour de boucle, quand l'image est téléchargée, tu mets la propriété value = le nombre de tour de la boucle.

    Perso, j'aime bien n'afficher le progressbar que pendant le traitement, donc je mets visible sur false par défaut, puis true pendant le traitement et false quand c'est fini....

    Un bon tuto ici :


  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Par défaut
    Sujet résolu

    Merci à thovan

  4. #4
    Membre Expert
    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
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Il serait étonnant que ça fonctionne en mettant à jour ta Progressbar directement dans ton backgroundWorker.dowork.......

    Tu devrais rencontrer l'erreur : cross-thread operation not valid (Opération inter-thread non valide.....). A moins que tu utilises un délégué ou bien la sub backgroundWorker.ProgressChanged

    ++

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

Discussions similaires

  1. backgroundworker et progressbar
    Par Neandril dans le forum C#
    Réponses: 3
    Dernier message: 06/09/2018, 01h17
  2. [Débutant] Problème backgroundWorker et progressBar
    Par AlphaMoody dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/06/2012, 14h30
  3. backgroundworker avec plusieurs progressbar
    Par tortuegenie dans le forum Windows Forms
    Réponses: 1
    Dernier message: 01/06/2011, 16h54
  4. backgroundworker et progressBar
    Par gharras dans le forum C#
    Réponses: 8
    Dernier message: 30/11/2009, 12h23
  5. Réponses: 4
    Dernier message: 24/07/2007, 10h57

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