Modifier une collection Form2 à partir d'une Form3 [Résolu]

Signaler
Messages postés
102
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 janvier 2013
-
Messages postés
153
Date d'inscription
vendredi 9 août 2002
Statut
Membre
Dernière intervention
18 septembre 2009
-
Bonjour tout le monde,

J'ai un souci depuis ce matin que je n'arrive pas à régler, j'ai donc plusieurs formulaires et je voudrais pouvoir modifier une collection d'objet ce trouvant dans ma form2 à partir de ma form3.

J'explique :
Sur ma Form2 j'ai une collection d'objet "Article" que je passe en paramètre dans ma form3 pour faire des calculs,
cependant dans ma form3 je peux modifier certaines valeurs de ma collection.
Donc quand je fais un retour sur ma Form2, j'aimerais que ma collection soit "mise à jour".
Pour cela j'ai donc créer un accesseur/mutateur de ma collection sur ma Form2.

Public List SetList
{
       get{return List;}
       set{List = value;}
}

Ensuite j'instancie ma Form3 pour l'ouvrir :

Form3 f3 = new Form3(List, ListFormulaires);
            f3.Show();  

Puis dans ma Form3, je modifie mes valeurs et recrée une collection que je voudrais "muter" dans ma Form2, faire du genre :
base.SetList = MaNouvelleList;
Le problème c'est que je n'arrive pas à accèder au mutateur de ma Form2.

Je passe aussi en paramètre une collection de formulaire, mais même problème je ne trouve pas la méthode.
j'essai : ListFormulaires[0].SetList = MaNouvelleList;
Sans résultat, je ne retrouve pas les variables ou méthodes de ma Form2.

Je sais que logiquement çà parait simple, mais la je bloque.

Merci, pour votre aide.

3 réponses

Messages postés
102
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 janvier 2013

Merci de ta réponse, mais j'ai trouvé un truc qui marche bien, je sais pas si c'est la meilleur solution mais ça me convient :

Form2 invent = (Form2)ListFormulaire[2]; //oui en fait j'ai 4 formulaires ^^
 invent.SetList = MaNouvelleList;
Messages postés
153
Date d'inscription
vendredi 9 août 2002
Statut
Membre
Dernière intervention
18 septembre 2009

Ca arrive...

Quand tu crée ta Form3, donne lui aussi ton instance de ta Form2 :

Form3 f3 = new Form3(List, ListFormulaires, this);

Dans le code de ta Form3, tu garde une trace de ta Form2 :

class Form3
{
private Form2 _f2;

Form3(object List, object ListFormulaires, Form2 f2)
{
  this._f2 = f2;
}

Après, tu n'a plus qu'à faire :

this._f2.SetList = TaNouvelleListe
Messages postés
153
Date d'inscription
vendredi 9 août 2002
Statut
Membre
Dernière intervention
18 septembre 2009

Tous les chemins mènent au rhum...