Etat d'avancement d'une ProgressBar

Signaler
Messages postés
14
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
1 juin 2005
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Hello, j'ai une forme que j'ai nommé ProgressBar et une classe Algo, dans ma classe Algo je
traite plusieurs requête sql dont une grosse insertion dans la base de donnée le tout grâce
à une boucle for. tout ceci prend pas mal de temps, j'aimerais bien mettre une progressBar
qui indiquerait l'étât d'avancement de l'enregistrement mais je ne vois pas comment faire
pour que la classe et la forme communiquent...Est ce que qqun peut m'aider?Un grand Merci

3 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Salut,
La solution qui est certainement la plus élégante, c'est de faire communiquer les différentes partie d'un programme (typiquement 'fonctionnalité' - 'interface utilisateur') via des events.

Lis la documentation sur les delegates et les events, c'est certainement ce dont tu as besoin. Pour un exemple très simple d'events, tu peux toujours jeter un oeil sur la source que j'avais mise en ligne voilà déjà quelque temps : http://www.csharpfr.com/code.aspx?ID=26735



[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
14
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
1 juin 2005

Merci pour ta réponse, j'ai bien lu la doc et aussi ton exemple. Dans ton Projet l'échange se fait sur 2 formes et sur l'event Click, Ce que j'aimerais faire c'est : Dans ma forme ProgressBar le pas de la progressBar avance en fonction de l'état de la variable j qui se trouve dans la classe Algo. et la je suis vraiment perdu...J'ai essayé de faire un getter mais cela ne marche pas, il ne me récupère que la première valeur de j c'est tout...
Merci bien
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Il faut que quand tu changes la valeur de ta variable dans ta class Algo, un event soit envoyé.
Ensuite tu inscris la form ou se trouve ta progress bar à cet event, de façon à être mis au courant du changement de valeur de ta variable.

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever