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

Messages postés
670
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
- - Dernière réponse : cs_czar
Messages postés
20
Date d'inscription
dimanche 22 avril 2007
Statut
Membre
Dernière intervention
10 septembre 2009
- 10 sept. 2009 à 13:51
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 ??
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
670
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
1
3
Merci
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
    }

Dire « Merci » 3

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

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

Commenter la réponse de olibara
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
0
Merci
Salut,
Tu as deux event de fermeture dans la form:
FormClosed et FormClosing à toi de choisir lequel utiliser.
A+
Commenter la réponse de xmox667
Messages postés
670
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
1
0
Merci
Merci

Mais je n'ai pas encore en tete de cas ou FormClosing serait préférable a FormClosed ou vice-versa ?
Commenter la réponse de olibara
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
5
0
Merci
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
}
Commenter la réponse de WishhhMaster
Messages postés
20
Date d'inscription
dimanche 22 avril 2007
Statut
Membre
Dernière intervention
10 septembre 2009
0
Merci
merci infiniment, ça m'a trop aider
Commenter la réponse de cs_czar