Rendre un bouton enabled a la fermeture d'une autre form
mrpropre57
Messages postés8Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention16 avril 2014
-
13 avril 2014 à 19:15
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 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
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024654 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: