Fermer Form1 après ouverture de Form2

Résolu
cpadmin Messages postés 43 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 31 octobre 2006 - 15 août 2006 à 11:45
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 15 août 2006 à 14:00
Bonjour à tous!

Voilà alors j'ai un petit souci, voilà j'ai une form1 qui contient un bouton. Lorsque qu'on clique sur ce bouton, la form1 doit disparaitre et une form2 apparaitre, et cela seulement si le bouton a été cliqué.

Pour cela, j'ai essayé:

static void Main()
        {
            Application.Run(new Form1());
            Application.Run(new Form2());
        }

Mais le problème est que quand je ferme ma form1, la form2 s'ouvre après.

j'ai aussi essayé:

private void button1_Click(object sender, System.EventArgs e)
        {
            this.Hide();
        }

La form1 disparait et la form2 apparait, mais une fois que je ferme la form2, le processus du programme continue à cause que form1 n'est pas fermer.

Pourriez-vous m'aider à fermer form1 lorsqu'on ferme form2?
Ou alors killer le processus à la fermeture de form2?

D'avance je vous en remercie.

12 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
15 août 2006 à 12:49
Salut

Depuis form1 tu t'inscris a l'evenement FormClosing de ton form2, et dans la méthode associée, tu fais this.Close()

Mx
MVP C# 
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
15 août 2006 à 12:51
Plus concrétement :


 


 





<hr />






private



void
button1_Click(

object
sender,

EventArgs
e)
{
   Form2 f =

new
Form2();
   f.FormClosing +=

new



FormClosingEventHandler
(f_FormClosing);


   this
.Hide();
   f.Show();
}


private



void
f_FormClosing(

object
sender,

FormClosingEventArgs
e)
{


   this
.Close();
}


<hr />







Mx
MVP C#
 
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 août 2006 à 13:08
Salut,

L'event FormClosing n'existe qu'en .NET 2.0, en .NET 1.1 tu peux utiliser l'event Closing.

/*
coq
MVP Visual C#
CoqBlog
*/
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
15 août 2006 à 13:44
3

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

Posez votre question
cpadmin Messages postés 43 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 31 octobre 2006
15 août 2006 à 12:55
mmmh okay je vais essayer!

Merci bien!
0
cpadmin Messages postés 43 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 31 octobre 2006
15 août 2006 à 13:06
il me dit:

Le type ou le nom d'espace de noms 'FormClosingEventArgs' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?).

Ce que j'ai fais:

Dans form1:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.Close();
        }

private void button1_Click(object sender, EventArgs e)
        {
            Form2 principale = new Form2();
            principale.FormClosing += new FormClosingEventHandler (principale_FormClosing);
            this.Hide();
            principale.Show();
        }

Je me suis trompé en insérant le code?
Ou il faut mettre une directive using?
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
15 août 2006 à 13:14
Erf, je suis plus habitué au 1.x 

Mx
MVP C# 
0
cpadmin Messages postés 43 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 31 octobre 2006
15 août 2006 à 13:14
Ah! ok merci!

Mais... je dois changer où?...

dans le private void?
partout ou il y a FormCLosing?
0
cpadmin Messages postés 43 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 31 octobre 2006
15 août 2006 à 13:15
Aucun problème!
Merci tout de même pour ta réponse!
0
cpadmin Messages postés 43 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 31 octobre 2006
15 août 2006 à 13:40
en faite j'ai essayé de changer mais ClosingEventArgs n'est pas reconnu....
0
cpadmin Messages postés 43 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 31 octobre 2006
15 août 2006 à 14:00
Voilà maintenant ca fonctionne parfaitement!

Merci beaucoup pour ton aide et ta patience!

Bonne après midi!
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
15 août 2006 à 14:00
Y'a pas de quoi
Mx
MVP C# 
0
Rejoignez-nous