Progress toolbar

[Résolu]
Signaler
Messages postés
40
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
3 juillet 2009
-
Messages postés
40
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
3 juillet 2009
-
Bonjour à tous,

Actuellement je developpe une application orientée objet. Chaque metier de l'application sont repartis dans divers objet. Pus clairement, Le formulaire (linterface) represente un objet avec les commande de l'utilisateur et qui à son chargement cré un objet programme, le programme centrale represente un autre objet regroupant tt l'intelligence du programme, puis d'autre objet satellite remplisse diverse tach à la demande de programme.
L'information est descendante.

J'ai à un moment donné la creation de taches plannifiés pour une 10aine d'evenements, et je souhaiterais que mon formulaire affiche une progressbar. J'ai trouvé comment mettre la progressebar, j'ai lu tt les forums et autres aides pour la parametrer.
J'ai parametrer son maxi, son mini, sa value.

Le pb est que je ne sais pas comment incrementer la progress bar au fur et à mesure que les tache se créé. Comment remonter l'info de mes objet metier?
Comment puis je appeler depuis mon objet, la progressbar?
J'ai tt essayé, mais je ne trouve pas.

D'avance merci pour votre aide.

5 réponses

Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
9
"Le formulaire (linterface) represente un objet avec les commande de
l'utilisateur et qui à son chargement cré un objet programme, le
programme centrale represente un autre objet regroupant tt
l'intelligence du programme"

Depuis ton "programme centrale" tu accède à ton formulaire non? Il faut lui passer une référence de ton formulaire pour que cela soit possible. Mais en Visual Basic, une référence global est automatiquement créé pour le formulaire de démarrage, donc depuis n'importe ou tu peux accéder à ton formulaire en tapant son nom.

Mais l'utilisation de cette référence globale n'est pas toujours très élégante, car si on commence à accéder au formulaire principal depuis n'importe quel classe "de bas niveau", ça empêche la portabilité du code et ça risque de créer des croisements entre les différentes classes.

Le mieux dans ton cas serait peut être "d'écouter" ton programme principal depuis ton formulaire, sans qu'aucune référence du formulaire ne soit utilisé dans ton programme principal. Pour celui il suffit de lui rajouter des évènement: Par exemple,  pour la ProgressBar, il pourrait y avoir un évènement ProgressChanged dans ta classe Programme, évènement lue par le forumaire principal pour mettre à jour sa ProgressBar.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
if progressbar.value < progressbar.max then
progressbar.value= progressbar.value +( progressbar.max /100)
Messages postés
40
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
3 juillet 2009

Merci Gillardg, mais je crois que je ne me suis aps bien fait comprendre, alors je vais reprciser.

J'ai bien compris comment incrementer ma barre comme tu me le montre, ce que je n'arrive pas c'est associer cette incrmentation à la realisation de mes taches. Comment mon objet de creation de tache AT, peut il envoyer à Form1 (ou se trouve la progressbar) l'etat d'avancement de ses travaux?

En esperant etre plus claire.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
si cela tourne dans une boucle,
if form1.progressbar.value < form1.progressbar.max then
form1.progressbar.value= form1.progressbar.value +( form1.progressbar.max /100)
je vois pas bien le problème ?
Messages postés
40
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
3 juillet 2009

Merci Kevin,
Entre temps j'ai suivi la methode de guillardg, mais comme tu le dis ce n'est pas la plus elegante, et ca devient vite le bazar.
Tu as bien saisi mon pb, je vais suivre tes conseils.