Visual Basic .Net:Classe Checkbox
Un article de WikiTuto.
Sommaire |
Explication
La Checkbox, c'est cette charmante petite case carrée que vous connaissez bien :
Passons rapidement sur les propriétés que les Checkbox partagent avec la plupart des autres classes, pour en venir à celle qui nous intéresse au premier chef : celle qui nous permet de savoir si une Checkbox est cochée ou non (si nous l'utilisons en lecture), ou de faire en sorte que Checkbox soit cochée ou non (si nous l'utilisons en écriture). Il s'agit de Checked : propriété booléenne, qui vaut naturellement True lorsque la case est cochée et False lorsqu'elle ne l'est pas.
Là où les choses se compliquent un peu, c'est que dans certains cas, on souhaite pouvoir disposer d'une troisième possibilité : la case "à moitié cochée", indiquant généralement que certains sous-élements correspondant à la Checkbox sont actifs, et d'autres non :
Propriétés supplémentaires
Pour pouvoir gérer cette situation difficile, il nous faut avoir recours à deux autres propriétés supplémentaires :
- Threestate : propriété booléenne, qui indique, dans le cas où elle vaut True, que l'utilisateur a désormais le choix entre trois états et non plus deux.
- Checkstate: qui à la différence de Checked, fera la différence entre Checked, Unchecked et Indeterminate.
Remarque
Les Checkbox sont parfois rassemblées dans un conteneur, qui les présente comme faisant partie d'un même groupe. Cette présentation est purement décorative : elle ne remet jamais en cause le fonctionnement de la Checkbox, toujours individuel et indépendant de ses congénères.
Evénement
Il nous faut enfin mentionner le principal événement associé aux CheckBox : il s'agit de CheckChanged, qui est déclenché chaque fois que la case est cochée ou décochée.
Remarques
On remarquera la différence subtile, mais réelle, entre les événements CheckChanged et Click, appliqués à une Checkbox.
Click ne se produira qu'en cas d'action sur la case via la souris.
CheckChanged, en revanche, se produira en cas de clic de souris, mais aussi si une ligne de code a modifié l'état de la case. Ou en cas de changement d'état de la case causé par une action au clavier.
Il faut donc réfléchir, avant de choisir l'événement que l'on souhaite gérer, si l'on souhaite réagir ou non à un changement de l'état de la case provoqué par autre chose qu'un clic de souris - si l'application est susceptible de contenir cette autre chose, bien sûr.
Voir aussi
- La classe Textbox
- La classe Richtextbox
- La classe Checkbox
- Les classes Radiobutton, GroupBox et Panel
- Retour au sommaire
Source : Christophe Darmangeat



