0 votes

Problème de CheckListBox WinForm avec l'événement ItemCheck

Lorsque l'état coché d'une case à cocher change, j'aimerais savoir quelle est la nouvelle valeur. Voici ce que je fais :

Friend WithEvents clstTask As System.Windows.Forms.CheckedListBox

Private Sub clstTask_ItemCheck(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles clstTask.ItemCheck
    Dim SelectedCheckState As CheckState = clstTask.GetItemCheckState(clstTask.SelectedIndex)
End Sub

Cependant, la valeur de la variable SelectedCheckState ne reflète pas exactement le nouvel état. Je pense qu'elle affiche l'état actuel avant le clic, comme s'il s'agissait d'un gestionnaire d'événement "Before_CheckChanged".

La case à cocher est une case à cocher à trois états (coché, non coché, indéterminé). Dois-je écrire un code affreux qui suppose que si le CheckState renvoyé est l'état "X", l'état ACTUEL doit être Y ?

3voto

Jon Seigel Points 8713

L'ItemCheckEventArgs expose les propriétés CurrentValue et NewValue.

1voto

tster Points 9948

Vérifiez ItemCheckEventArgs.NewValue et ItemCheckEventArgs.CurrentValue. C'est pourquoi ce paramètre est présent ;)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X