Rendre un bouton enabled a la fermeture d'une autre form

Signaler
Messages postés
8
Date d'inscription
vendredi 27 août 2004
Statut
Membre
Dernière intervention
16 avril 2014
-
Messages postés
15153
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 novembre 2020
-
Bonjour,

J'ai cherché toute l'après-midi une réponse à ma question... sans succès.

Mon projet ouvre à partir du premier form plusieurs forms différents avec un bouton chacun. Je souhaite éviter que l'utilisateur ouvre plusieurs fois la même fenêtre, du coup je mets enabled=false sur les bouton.

Ce que je cherche à faire, c'est sur l'événement FormClosed ou FormClosing, rendre de nouveau le bouton accessible sur le premier form.

Si quelqu'un a une idée, et surtout des explications claires, merci d'avance

1 réponse

Messages postés
15153
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 novembre 2020
463
Bonjour,

on va dire que le premier formulaire est frmPrincipal et que celui ouvert est frmEnfant.

dans frmPrincipal, quand tu lances, frmEnfant actuellement tu dois faire un truc dans ce style

            frmEnfant monEnfant = new frmEnfant();//je crée une instnce de frmEnfant
            monEnfant.Show();// je l'affiche


Il te suffit, dans frmPrincipal, d'écouter le fromClosing de monEnfant et d'y associer une méthode dans laquelle tu rends le bouton enabled.
            frmEnfant monEnfant = new frmEnfant();//je crée une instnce de frmEnfant
            monEnfant.FormClosing += new FormClosingEventHandler(monEnfant_FormClosing);//j'abonne une méthode de fmrPrincipale à l'evenement formClosing de cette insatnce de frmEnfant
            button1.Enabled = false;
            monEnfant.Show();// je l'affiche

si tu travailles avec Visual Studio, au moment ou tu vas taper +=, il va te proposer de taper 2 fois sur tab (1 fois pour écrire le reste de la ligne et une fois pour écrire la méthode monEnfant_FormClosing), je te conseille de le faire ça fait gagner du temps.

dans monEnfant_FormClosing, tu remets le bouton enabled:
        void monEnfant_FormClosing(object sender, FormClosingEventArgs e)
        {
            button1.Enabled = true;
        }