PB progressbar & thread

Résolu
bibibiba Messages postés 3 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juillet 2008 - 23 juil. 2008 à 14:04
krishou Messages postés 60 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 21 août 2008 - 23 juil. 2008 à 16:23
Bonjour,
J'ai une application qui se connecte a une base de données et qui doit remplir un doc word avec les informations collectées.J'ai une progressbar qui tourne pendant ce temps.Mais j'ai toujours la meme erreur "progressbar1" a été appellée par un thread autre que celui pour lequel elle a été appéllée.
la progressbar est codée dans une autre classe ,progressdialog, que celle du thread t et est incrementée par la methode Avance().

prog = new ProgressDialog(0,10, "Enregistrement du site...");
    t = new Thread(new ThreadStart(AfficheDialogue));
   t.Start();
   
   this.btn_modif.Enabled=false;
   prog.Avance();//

Pourriez vous m'aider svp???J'ai vu quelques pages sur delegate/invoke/begininvoke mais comme la progressbar est un attribut d'une autre classe de celle du nouveau thread ,je ne sais pas trop ou les placer...

5 réponses

lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 6
23 juil. 2008 à 14:39
Les quelques pages que tu as vu te mène sur la bonne voie.

Dans la class principale (celle où tu instancie ton thread), créer un nouveau delegate:



private






delegate



void



DelegateCallMethodAvance
();
Ensuite, dans ta méthode AfficheDialogue, tu utilise la méthode Invoke à la place de directement utilisé prog.Avance.

this

.Invoke(
new
DelegateCallMethodAvance(prog.Avance));
L'idée, ce que t dise au thread principal d'appeler la méthode Avance.
C'est jamais tu as pas compris, dis le et je réessai
3
krishou Messages postés 60 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 21 août 2008 1
23 juil. 2008 à 14:46
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 juil. 2008 à 14:54
Salut,

tu as meme un exemple tout pret ici :
http://www.csharpfr.com/codes/THREAD-PROGRESSBAR-EXEMPLE-SIMPLE_40294.aspx

Mx
MVP C# 
3
bibibiba Messages postés 3 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juillet 2008
23 juil. 2008 à 15:56
Merci beaucoup a vous 3!!!Je n'ai pas encore tout tout compris sur les threads mais grace a vous ma progressbar marche merci!
Vais devoir m'y mettre aux threads...:)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
krishou Messages postés 60 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 21 août 2008 1
23 juil. 2008 à 16:23
Très bonne idée à mon sens... c'est un concept pas facile à comprendre selon moi mais tellement important de nos jours!!!
0
Rejoignez-nous