Thread ProgressBar

Signaler
Messages postés
54
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
21 septembre 2018
-
kyoku59
Messages postés
54
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
21 septembre 2018
-
Bonjour,

Je souhaiterai faire afficher une progressBar lors d'une mise à jour d'un grid (manipulation de données Excel puis injecté dans une base SQLite) car plusieurs secondes se passe...

Pour cela j'ai utilisé "BackgroundWorker" que j'utilise comme ceci :
    Private Sub BackgroundWorker1_ProgressChanged(sender As System.Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
        ProgressBar1.Value = e.ProgressPercentage
    End Sub

    Private Sub BackgroundWorker1_RunWorkerCompleted(sender As System.Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
        Me.ProgressBar1.Style = ProgressBarStyle.Marquee
    End Sub


Et je fait appel a celui-ci :
    Private Sub btn_MAJ_Click(sender As System.Object, e As System.EventArgs) Handles btn_MAJ.Click
        Me.ProgressBar1.Style = ProgressBarStyle.Marquee
        Me.ProgressBar1.Visible = True
        BackgroundWorker1.RunWorkerAsync()

        'Ouverture du fichier Excel
        'Manipulation des données

        'Récupération des données voulu avec injection dans la BDD
        For i As Integer = 3 To nbrLigne

        Next

        '...
    End Sub


La problématique que je rencontre est que ma progresseBar reste figé.
Y'a surement quelque chose que j'ai oublié ou mal compris.

C'est la première fois que j'utilise ce procédé et c'est un peu compliqué a comprendre au premier abord.
Si quelqu'un pourrait m’aiguiller ça serait cool.

Merci à vous

--

3 réponses

Messages postés
14256
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 février 2020
343
Bonjour
Le code de récupération de données ne doit pas être dans le bouton, mais dans la méthode que va exécuter le backgroundworker.

Là, tu ne lui as rien donné à faire.

http://glarde.developpez.com/dotnet/bgworker/vb/
Messages postés
6566
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 février 2020
95
Messages postés
54
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
21 septembre 2018

Merci à vous 2 !

je me doc sur ça et je posterai ma solution pour la communauté.

--