kikiokiller
Messages postés42Date d'inscriptionlundi 26 février 2007StatutMembreDernière intervention31 mai 2009
-
30 avril 2009 à 17:40
kikiokiller
Messages postés42Date d'inscriptionlundi 26 février 2007StatutMembreDernière intervention31 mai 2009
-
14 mai 2009 à 21:22
Bonjour à tous,
Je reformule ma question plus simplement.
J'ai un formulaire parents (conteneur) dans lequel j'ouvre 4 fenetres n1, n2, n3 et n4.
Je voudrai fermer la fenetre n3 uniquement!
Le "foreach" est pas mal, mais il me vire toutes les fenetres!
foreach
(
Form child3
in MdiChildren)
{
child3.MdiParent =
this;child3.Close();
}
Pourtant, j'ai bien écris "child3", donc il est nominatif. Je comprends pas pourquoi ca enlève les 4 fenetres.
Merci de votre aide.
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014100 2 mai 2009 à 19:55
Bonjour,
Le fait de nommer une variable locale de la même manière à 2 endroits différents ne va en aucun cas faire en sorte qu'elle fasse référence à la même instance.
Le code fait ici ce que tu lui demandes : il parcourt la liste des formulaires en te fournissant consécutivement les références dans la variable locale "child3".
4 formulaires dans la liste MdiChildren = 4 fois l'exécution du code dans le bloc foreach = 4 appels de "child3.Close();"
Au passage, le code "child3.MdiParent = this;" ne sert visiblement à rien.