Modifier une collection Form2 à partir d'une Form3

Résolu
cs_vagg Messages postés 102 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 janvier 2013 - 5 févr. 2009 à 10:33
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009 - 5 févr. 2009 à 12:16
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

cs_vagg Messages postés 102 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 janvier 2013
5 févr. 2009 à 12:15
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;
3
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
5 févr. 2009 à 12:00
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
0
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
5 févr. 2009 à 12:16
Tous les chemins mènent au rhum...
0
Rejoignez-nous