Arraylist passage dans le constructeur

florianj54 Messages postés 5 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 30 mars 2010 - 26 janv. 2010 à 20:08
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 27 janv. 2010 à 09:57
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

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 48
27 janv. 2010 à 09:57
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é. -
0
Rejoignez-nous