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

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

2 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
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
*/
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009

Thx :)