C# rbtn dans gbx

Signaler
Messages postés
6
Date d'inscription
vendredi 27 février 2009
Statut
Membre
Dernière intervention
22 février 2010
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
-
Bonsoir.

J'ai fait un projet en C# avec des radio button dans des group box.

Voilà j'aimerais que vous me donniez une ligne de code qui me permette de savoir quel radio button de la group box est checked, sans avoir à faire if, else if, else if, else if, else.

Merci d'avance.

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut,

Regardes les evenements click de chaque control
et ensuite tu fais un cast pour retrouver le nom du controle.

regardes ici

Bon dev
Messages postés
6
Date d'inscription
vendredi 27 février 2009
Statut
Membre
Dernière intervention
22 février 2010

Avec un Switch case je peux ?

Merci
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
49
nhervagault parle de "cast" (une manière de changer le type d'un objet (pour peu qu'il puisse être considéré comme un objet du nouveau type), et non de "case".

Un switch / case est purement et simplement la même chose qu'une série de if, ce n'est donc pas la solution.

Ce dont parle Nhervagault, c'est de créer une (et une seule) méthode appelée lors de l'événement Click de chaque bouton.

Or le prototype d'une telle méthode est
void NomDeLaMethode(object sender, EventArgs e);

la variable e correspond donc à des informations complémentaires sur l'événement tandis que la variable sender contient l'objet ayant déclenché cet événement (en l'occurrence le radiobutton sur lequel tu as cliqué).

Cependant, afin que cette méthode puisse être appelée par n'importe quel composant, sender est considéré comme un object et non un radiobutton.
Mais tu sais (puisque c'est ton code) qu'il s'agit d'un radiobutton. Donc tu vas considérer ton objet sender comme tel en faisant un cast (comme l'exemple dans le lien que Nhervagault t'a donné) :

RadioButton monRadioButtonCocheCarJAiCliqueDessus = sender as RadioButton;

De là, tu n'as plus qu'à faire ce que tu veux sur l'objet récupéré.

NB : Si sender ne peut pas être cast en RadioButton, la valeur renvoyée (donc en l'occurrence la valeur de monRadioButtonCocheCarJAiCliqueDessus) est null.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -