Agir sur un child d'un Mdiparent [Résolu]

Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009
- - Dernière réponse : kikiokiller
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 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.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
63
3
Merci
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.

/*
coq
MVP Visual C#
CoqBlog
*/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009
0
Merci
Thx :)
Commenter la réponse de kikiokiller