"Décacher" une fenêtre à partir d'une autre fenêtre

tfrancais Messages postés 21 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 22 février 2015 - 13 juin 2004 à 22:33
tfrancais Messages postés 21 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 22 février 2015 - 19 juin 2004 à 10:36
Je viens de commencer une appli en C# et je suis encore débutant.

J'ai une fenêtre principale Form1 avec pleins de boutons.

J'arrive à faire un Form1.Hide() quand je clique sur mes bouton pour ouvrir d'autres fenêtre.

Mon problème est que je n'arrive pas à faire réapparaitre ma fenêtre principale quand je quitte ma fenêtre fille.

J'ai créé une fonction

private void mafille_closed(object sender, System.ComponentModel.CancelEventArgs e)
{
MessageBox.Show("Test VideTopcon_closed System.CancelEventArgs","Test",MessageBoxButtons.OK);
Appli.Form1.ActiveForm.Show();
}

qui me renvoie ma MessageBox quand je quitte ma fenêtre fille mais pas ma Winform mère.

Pour alléger un peu le tout, ma fenêtre fille et ma fenêtre mère ne sont pas dans le même fichier mais dans le même "namespace".

Est-ce que quelqu'un sait comment faire réapparaitre ma fenêtre ???

2 réponses

cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 juin 2004 à 00:14
je peux te proposer 2 methodes :
Form1 = "mere"
Form2 = "fille"

1) passage du form "parent" à l'autre :
dans Form2 :
private Form previousform;

public Form2(Form prevform)
{
InitializeComponent();

this.previousform = prevform;
}

...

private void Form2_Closed(object sender, System.EventArgs e)
{
previousform.Show();
}


exemple d'appel :
private void button1_Click(object sender, System.EventArgs e)
{
this.Hide();
Form2 form = new Form2(this);
form.Show();
}


2) event de fermeture directement géré dans le form1
tout se passe donc dans le Form1 ce coup ci
private void button1_Click(object sender, System.EventArgs e)
{
this.Hide();
Form2 form = new Form2();
form.Show();
form.Closed += new EventHandler(form2_Closed);
}

private void form2_Closed(object sender, EventArgs e)
{
this.Show();
}


Je te laisse choisir ce qui te convient le mieux

Cocoricoooooooo !!!!
0
tfrancais Messages postés 21 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 22 février 2015
19 juin 2004 à 10:36
Merci.

J'ai pris la deuxième solution car j'ai plein d'autres boutons qui ont les même fonctionnalités et vont me causer le même problème.

Je vais avoir plein de "fille.Closed += new EventHandler(form2_Closed);" dans "mes button_click{...}".
0
Rejoignez-nous