vaydi08
Messages postés21Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention 3 mai 2013
-
10 mars 2011 à 11:37
vaydi08
Messages postés21Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention 3 mai 2013
-
10 mars 2011 à 14:03
bonjour, j'ai une application en c# qui utilise un MDIParent, quand j'ouvre la premiere forme fils je clic sur un bouton pour affiché une autre forme,bon voila j'aimerai que la première forme disparaît après avoir affiché la second!!
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 10 mars 2011 à 13:52
La fonction Hide() sert à masquer la form ("hide" voulant dire "cacher" en anglais). Show() est son opposée, elle affiche la form ("show" signifie "montrer" en anglais). L'appel consécutif de ces deux méthodes n'a donc pas vraiment de sens ;)
PS : si la réponse te convient, merci de mettre le topic comme résolu :)
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 10 mars 2011 à 13:35
essaie de changer cette ligne :
a.MdiParent = this;
par celle-ci :
a.MdiParent = this.MdiParent;
et après le l'appel à Show(), rajoute ceci :
this.Close();
Quelques explications :
* this.Close() va fermer ta MdiChild1 (this la représentant), rien de compliqué à comprendre
* il faut donné le même MdiParent à MdiChild2 (instance a dans ton code). Déjà parce que MdiChild1 n'est sûrement pas un MdiContainer (et une exception sera levée lors du déclenchement de l'évènement), et aussi parce qu'il faut que MdiChild2 soit référencée au niveau de ta MdiParent1 pour pas être supprimée en même temps que MdiChild1 (lors de l'appel à Close());
NB : pourquoi le Hide() avant le Show() ?
Vous n’avez pas trouvé la réponse que vous recherchez ?