Tout a fait.
Mais il ne faut pas que tu gère ta progressbar dans un classe à part.
Il faut que ce soit ta Form (ou UserControl) qui mette à jour la progressbar. Par conséquent, elle aura accès à this.BeginInvoke(..).
Tu vas me dire pourquoi ?
Parce que ta classe qui fait le traitement devient dépendante d'une interface; et ça, c'est pas bien :)
Une solution consiste donc à faire une classe traitement qui lance des événements (exemple, un event pour le début de traitement, 1 pr la fin, 1 pour chaque fin de fichiers traités...).
Ensuite, tu pourras alors binder ce que tu veux dessus: une console, une form, un usercontrol, un service windows etc...
Il te suffira alors d'appeler la classe et de t'abonner à ces événements. Chauqe événement fera des choses différents suivants le type de l'objet qui s'abonne aux événements.
Ou sinon, si tu veux pas batailler (même si je pense que ce serait une très bonne solution), tu donnes à ta classe l'objet Form et cette dernière n'aura plus qu'à appeler des méthodes pour mettre à jour ton progressbar.
Voila tout,
Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------