Etat d'avancement d'une ProgressBar

trioy Messages postés 14 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 1 juin 2005 - 5 mai 2005 à 13:44
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 6 mai 2005 à 23:00
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

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
5 mai 2005 à 18:49
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
0
trioy Messages postés 14 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 1 juin 2005
6 mai 2005 à 14:23
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
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
6 mai 2005 à 23:00
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
0
Rejoignez-nous