Delegate sur le close d'une form [Résolu]

Signaler
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
20
Date d'inscription
dimanche 22 avril 2007
Statut
Membre
Dernière intervention
10 septembre 2009
-
Bonjour

Dans une form qui en a ouverte une autre, j'aimerais etre averti de la fermeture de cette autre form
Pour executer une fonction MaFormIsClosed();

Mais je ne sais pas si je peux faire un truc du genre

MaForm maForm=new MaForm()
maForm.Close += ??? MaFormIsClosed();

Si oui quelle est la syntaxe exacte ?

Ou bien est ce que je dois dans l'event handler close de MaForm appeller un delegate de MaFormIsClosed dans ma forme appelante ??

5 réponses

Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
3
Aarrgh !

Je me suis encore fait avoir
L'event Close n'existe pas
Mais bien FormClosed

Du coup, le bon code c'est

        if (fList == null)
        {
          fList = new frmAdrList();
          fList.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmListClosed);
        }
        fList.Show(this);   // This en parametre affiche 'ON TOP'

// -----

    void FrmListClosed(object sender, FormClosedEventArgs e)
    {
       // Code a executer lors de la fermeture
    }
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Salut,
Tu as deux event de fermeture dans la form:
FormClosed et FormClosing à toi de choisir lequel utiliser.
A+
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
3
Merci

Mais je n'ai pas encore en tete de cas ou FormClosing serait préférable a FormClosed ou vice-versa ?
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
7
Salut,

L'évènement FormClosing c'est quand la form est en train de se fermer, à cet instant tu peux encore annuler la fermeture. Exemple:
- l'utilisateur clique sur la croix pour fermer la fenêtre
- un message de confirmation apparaît
- si l'utilisateur clique sur annuler, tu ne ferme pas la form

private void AppForm_FormClosing(object sender, FormClosingEventArgs e)
 {
e.Cancel = true; //annule la fermeture
}
Messages postés
20
Date d'inscription
dimanche 22 avril 2007
Statut
Membre
Dernière intervention
10 septembre 2009

merci infiniment, ça m'a trop aider