Arraylist passage dans le constructeur

Signaler
Messages postés
5
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
30 mars 2010
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
-
bonjour,

voila mon problème :

j'aimerais récuperer le type des animaux dans le formulaire infi.(qui correspond à l'infirmerie)

seulement voila lorsque j'ouvre ce formulaire il s'ouvre autant de fois que qu'il y a d'animaux. (si j'ai 2 animaux dans l'infirmerie il y a 2 formulaires infi qui s'ouvrent) A priori c'est normal puisque je suis dans la boucle
mais si je met la declaration du formulaire en dehors de la boucle la variable string type n'est plus reconnue. est ce que vous auriez une idée ?

merci


Code :

private void buttonVoirInfirmerie_Click(object sender, EventArgs e)
{

for (int i = 0; i < zoo.unArrayList().Count; i++)
{
bool etat = ((Animaux)zoo.unArrayList()[i]).getInNursery();

if (etat == true)
{
string typeAnimaux = (((Animaux)zoo.unArrayList()[i]).getType().ToString());
Infirmerie infi = new Infirmerie(typeAnimaux);
infi.Show();

}


Merci d'avance

1 réponse

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Salut

Apparemment, tu passes un string (typeAnimaux) qui n'est en rapport qu'avec un seul type au constructeur.
Si tu veux n'avoir qu'une seule fenêtre, tu as un problème de conception à ce niveau.

Actuellement :
FenActuelle
 |-> type1
 |    |-> infi(type1) 
 |-> type2
 |    |-> infi(type2)
 |-> type3
      |-> infi(type3)


Ce qu'il te faut (si j'ai bien compris) :
FenActuelle
 |-> ensemble des types
      |-> infi(ensemble des types)


Donc en résumé : pas de boucle, et ce n'est pas le nom d'un type qu'il faut passer en paramètre du constructeur mais un tableau (ou ton ArrayList)

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -