2017-07-03 1 views
0

J'ai fait beaucoup de lecture sur ce sujet et chaque question que j'ai trouvé implique ASP.NET. J'utilise Winforms. J'ai une case à cocher (appelé CheckboxPicture) sur mon formulaire principal. Je veux exécuter quelques commandes lorsque l'état de cette case à cocher est modifié par l'utilisateur.CheckedChanged ne se déclenche pas?

Cela devrait le faire:

public void CheckboxPicture_CheckedChanged(Object sender, EventArgs e) 
{ 
    MessageBox.Show("Check State Changed"); 
} 

Cependant la vérification et décochant la case ne fonctionnent pas. ASP.NET dit que vous avez besoin

Autopushback = true mais je n'utilise pas ASP.NET donc je ne sais pas où cela irait.

+2

En WinForms vous utilisez le concepteur WinForms. Sélectionnez le CheckBox, affichez les propriétés de l'événement et double-cliquez sur l'événement CheckedChanged. Cela créera le code de dérivation pour le gestionnaire d'événements et l'ouvrira pour vous – Steve

+1

Etes-vous sûr qu'il existe une instruction 'CheckboxPicture.CheckedChanged + = CheckboxPicture_CheckedChanged' quelque part ou du moins quelque chose qui ressemble même à distance à ceci? –

+0

Abonnez-vous réellement à l'événement ailleurs dans votre code? – Inisheer

Répondre

0

Une recherche sur Google pour obtenir des rendements "événement de case à cocher WinForms" ce que son premier résultat:

MSDN: CheckBox.CheckedChanged Event

À un certain moment, ils mentionnent:

Pour exécuter l'exemple de code, collez-le dans un projet qui contient une instance de type CheckBox nommée CheckBox1. Assurez-vous ensuite que le gestionnaire d'événements est associé à l'événement CheckedChanged.

(moi qui souligne.)

Malheureusement, ils ne montrent pas comment « faire en sorte que le gestionnaire d'événements est associé à l'événement CheckedChanged ».

En bref, quelque part dans votre code, vous devez avoir la déclaration suivante:

CheckboxPicture.CheckedChanged += CheckboxPicture_CheckedChanged 

En d'autres termes, votre méthode CheckboxPicture_CheckedChanged() ne sera pas appelé par magie, vous devez vous assurer qu'il est appelé lorsque le l'événement correspondant de la case à cocher est déclenché.

0

Accédez au formulaire de votre concepteur. Cliquez sur la case à cocher et regardez la boîte de propriétés. Cliquez sur les gestionnaires d'événements et sélectionnez votre gestionnaire pour la propriété CheckedChanged handler.

enter image description here