Incrémenter une ProgressBar à partir d'une autre Class

yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 19 avril 2006 à 14:23
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 3 mai 2006 à 15:54
Bonjour a tous

Voila je voudrais pouvoir incrémenter ma progressbar à partir d'une autre classe que Form1. Est-ce que quelqu'un pourrai me dire comment faire?

Merci

7 réponses

billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
19 avril 2006 à 17:05
heu jai pas le meme probleme, mais cest la meme paniere de résoudre.. va voir ca :
http://www.csharpfr.com/infomsg/PASSER-VARIABLES-ENTRE-FORMS-6_715233.aspx

je pense qu'il te suffi de mettre un variable que tu fais passer dans lautre form.. mais j arrive pas pr le moment..
0
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
19 avril 2006 à 17:16
va voir ca : http://www.csharpfr.com/infomsg/VARAIBLES-GLOBALES-SUR-TOUT-PROJET-6_717500.aspx

moi ca ma beaucoup aidé, je pense meme que je vais y arriver la .. ^^
++
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
19 avril 2006 à 21:56
Lever des evenements est beaucoup plus propres.

::|The S@ib|:: MVP C#.NET
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
20 avril 2006 à 10:54
Salut merci pour votre aide

TheSaib est ce que tu pourrai me donner un exemple ou un line vers un tuto pour le evenement parce que je m'y connais pas du tout

merci
0

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

Posez votre question
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
20 avril 2006 à 11:03
dans ta classe qui appele l'increment de la toobar tu définies des events

Quadn tu instancies cette classe tu t'abonnes a cet evenements.

Maclasse cls = new Maclasse();
cls.Increment += new EventHandler(this.DoIncrement);
cls.Show();

Public void DoIncrement(object sender, System.EventArgs e)
{
this.ProgressBar.Value ++;
}

Dans MaClasse :

public event EventHandler Increment;
private void MonTraitement()
{
//Ici ton code
//Puis
if (Increment != null)
Increment (this, EventArgs.Empty)
}

Quelque chose dans ce genre là.

::|The S@ib|:: MVP C#.NET
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
3 mai 2006 à 14:44
Salut theSaib

Voila j'ai fai comme tu ma expliqué mais avec une textBox voila mon code

<hr>
public
partial
class
Form1 :
Form
{

   private
void button1_Click(
object sender,
EventArgs e)
   { 
      System.Threading.
ThreadPool.QueueUserWorkItem(
new System.Threading.
WaitCallback(
this.Launch),
null);
   }

   private
void Launch(
object arg)
   {
         
this.Invoke(
new
LaunchBTN(EnabledBtn),
false);

         MaClass Sn =
new
MaClass();
         Sn.Evt +=
new
EvtEventHandler(Sn_Evt);

         this.Invoke(
new
LaunchBTN(EnabledBtn),
true);
   }

   private
void Sn_Evt(
object sender,
EvtEventArgs e)
   {
         TextBox.Text = e.Text;
   }

}//fin de Form1

public

class
MaClass
{
      public

event
EvtEventHandler Evt =
null;

      private

void OnEvt(
EvtEventArgs e)
      {
            
if (
this.Evt !=
null)
            {
this.Evt(
this, e); }
      }

   public

void DIRFiles()
   {      //CODE
         
this.OnEvt(
new
EvtEventArgs(files[i].Name));
         //CODE
   }
}//FIN DE MaClass

public
delegate
void
EvtEventHandler(
object sender,
EvtEventArgs e);

public
class
EvtEventArgs
{
      
private
string text =
null;
      
public
string Text
      {
            
get {
return
this.text; }
      }
      
      
public EvtEventArgs(
string info)
      {
            
this.text = info;
      }
}//Fin de EvtEventArgs

<hr>En compilant je n'ai pa d'erreur mais lorsque je lance mon appli j'ai cette erreur

"Cross-thread operation not valid: Control 'AffFile' accessed from a thread other than the thread it was created on."

est ce que quelqu'un pourrai m'expliquer comment debugger cette erreur

merci
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
3 mai 2006 à 15:54
Salut,

Vas voir ici pour ton probleme

Mx
MVP C# 
0
Rejoignez-nous