Fermer form fils quand j'ouvre autre forme [Résolu]

Signaler
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013
-
vaydi08
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013
-
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!!

j’aimerai bien ke qlqu'un puisse maider.
merci .

6 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
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 :)
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
Pourrais-tu mettre le code de ton évènement bouton, stp ?
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013

private void bouton_click(object sender, EventArgs e)
{

form2 a = new form2();
a.MdiParent = this;

a.Hide();
a.Show();


}

c'est le code de bouton pour afficher le form1
et moi j'aimerais quand la première forme1 disparaît après avoir affiché form2

et merci d'avance
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
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() ?
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013

merci bien jopop pour ton aide

pour hide();
je sais pas a quoi sert
je suis débutant au c#
et je prend le code copie coller par net
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013

merciiiiiiiiiiiiiiii pour votre explication