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

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

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

6 réponses

Meilleure réponse
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
10
3
Merci
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 :)

Dire « Merci » 3

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

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

Commenter la réponse de cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
10
0
Merci
Pourrais-tu mettre le code de ton évènement bouton, stp ?
Commenter la réponse de cs_jopop
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013
0
Merci
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
Commenter la réponse de vaydi08
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
10
0
Merci
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() ?
Commenter la réponse de cs_jopop
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013
0
Merci
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
Commenter la réponse de vaydi08
Messages postés
27
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
3 mai 2013
0
Merci
merciiiiiiiiiiiiiiii pour votre explication
Commenter la réponse de vaydi08