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

mrpropre57 Messages postés 8 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 16 avril 2014 - 13 avril 2014 à 19:15
Whismeril Messages postés 19072 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 23 juin 2024 - 13 avril 2014 à 20:55
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

Whismeril Messages postés 19072 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 23 juin 2024 657
13 avril 2014 à 20:55
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;
        }

0
Rejoignez-nous