Fermer form fils quand j'ouvre autre forme

Résolu
vaydi08 Messages postés 21 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 3 mai 2013 - 10 mars 2011 à 11:37
vaydi08 Messages postés 21 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 .

6 réponses

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vaydi08 Messages postés 21 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 3 mai 2013
10 mars 2011 à 13:48
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
0
vaydi08 Messages postés 21 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 3 mai 2013
10 mars 2011 à 14:03
merciiiiiiiiiiiiiiii pour votre explication
0
Rejoignez-nous