Groupe de radioboutons et databinding

Soyez le premier à donner votre avis sur cette source.

Vue 13 667 fois - Téléchargée 966 fois

Description

Cette source contient un contrôle "RadioButtonsGroup" qui représente un groupe de RadioBoutons.
Les RadioBoutons sont des label accompagné d'un petit cercle noirci ou pas.
Souvent, on utilise ces boutons en voulant n'en cocher qu'un seul à la fois.
Quand l'un de ces RadioBoutons est coché, il faut donc toujours décocher les autres.
En plus, le databinding sur un RadioBouton n'est pas pratique à mettre en place car on devrait mettre un databinding sur le groupe de RadioBoutons et pas sur un seul RadioBouton pour bien faire (Voir exemple dans la source).

Bref, ce controle permet de faciliter tout ce que je viens de dire.
Il suffit d'ajouter les RadioBoutons formant un groupe dans une instance de ce RadioButtonsGroup : radioButtonsGroup.Add(RadioButton).
L'évènement SelectedIndexChanged permet de savoir à tout moment si l'utilisateur a sélectionné un autre RadioBouton de ce groupe et grâce à ce contrôle, la sélection d'un RadioBouton entraîne automatiquement la désélection des autres.

Ce controle est "databindable" :
on peut binder le controle "groupe de radio-boutons" via sa propriété SelectedIndex (Index du radioBouton dans la collection de radio-boutons du groupe) mais aussi via sa propriété Text (Libellé du radio-bouton).

Conclusion :


Voir présentation et code-source.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
6
Date d'inscription
lundi 28 février 2005
Statut
Membre
Dernière intervention
18 juin 2009

Re bonjour,

Voici toutes les petites corrections pour ceux qui veulent utiliser ce très bon code en gardant l'option strict sur on:

Return CType(_radioButtons(_selectedIndex), RadioButton)

If _selectedIndex > -1 Then CType(_radioButtons(_selectedIndex), RadioButton).Checked = False

CType(_radioButtons(_selectedIndex), RadioButton).Checked = True

Dim irb As Integer = getRBI(CType(sender, RadioButton))

Encore une fois bon boulot.

A plus.
Messages postés
6
Date d'inscription
lundi 28 février 2005
Statut
Membre
Dernière intervention
18 juin 2009

Salut et merci pour le code, il fonctionne bien.

Juste une petite remarque, j'utilise vb.net 2003 avec l'option strict sur on.
J'avais le mesage d'erreur stipulant:
"disallows implicit conversion form 'System.Object' to 'Systems.Windows.Forms.Radiobutton'
sur le return :
Return _radioButtons(_selectedIndex)

J'ai donc effectué la toute petite corection suivante:
Return CType(_radioButtons(_selectedIndex), RadioButton)

Il me donne encore une erreur de lateBinding avec l'option strict sur on.

Etant donné que je préfère laisser cette option sur on, je cherche la solution.

A plus tard.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.