Avoir au moins 1 check box de coché pour activer un bouton

Résolu
cindylechat Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,
Je vous explique mon problème:

Je programme en c# Windows Form, et j'essaye de coder un quiz éducatif pour apprendre les notes sur une guitare. Dans mon quiz, l'utilisateur peut choisir sur quelle (s) corde(s) de la guitare il veut être questionné.

J'ai 5 check boxes, une pour chaque corde de la guitare. Je veux qu'un bouton s'active si l'utilisateur a choisi au moins 1 check box.

De plus, je veux que les questions de mon quiz soient seulement avec les cordes choisies.
J'ai déjà fait une switch qui donne une corde au hasard, mais je sais pas comment faire pour prendre au hasard seulement les cordes qui ont été choisies préalablement.

À part créer une switch pour chaque possibilité de combinaison de cordes, comment je peux faire ça?

Merci d'avance :)
A voir également:

4 réponses

nagaD.scar Messages postés 4272 Date d'inscription   Statut Membre Dernière intervention   252
 
Salut,

Peux tu donner le code correspondant (selection au hasard) ?
Pour l activation ou non d un bouton, le plus simple sera de créer une méthode, par exemple "setActive" qui va verfier chaque check, et si 1 est true, activer le bouton (sinon desactiver). Ensuite il suffit d assigner ta méthode à l evenement click.

naga
0
cindylechat Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   6
 
J'ai fait un nombre random de 1 à 5, et selon le nombre généré, ça m'affiche une corde.




//Corde random
            switch (iCorde)
            {

case 1:
sCorde = "A";

break;

case 2:{
sCorde = "B";

break;

case 3:

sCorde = "D";

break;

case 4:
sCorde = "E";

break;

case 5:

sCorde = "G";

break;

}
0
Utilisateur anonyme
 
Bonjour pour ta sélection au hasard, pas besoin d'un switch, tu crées un tableau et le random te donne l'index de l'élément du tableau.


Par contre quand tu dit activer un bouton, c'est le rendre cliquable? Ou exécuter la méthode comme s'il avait été cliqué?
0
cindylechat Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   6
 
Le mettre enable, donc le rendre cliquable.

Donc au lieu d'une switch, je fais une boucle for?

Je ne m'y connais pas en boucle for...
0
Utilisateur anonyme
 
Pour ton tirage aléatoire

            string[] tableau = { "A", "B", "C", "D", "E" };
            Random rnd = new Random();
            int index = rnd.Next(5);

            string corde = tableau[index];


Pour tes checkbox, tu abonnes les événements de chacune à une seule et même méthode.
Dans cette méthode tu fais un OU
monBouton.Enabled = checkbox1.Value | checkbox2.Value etc...

0
Utilisateur anonyme
 
Par contre, le meilleur conseil que je puisse te donner, c'est de commencer par le début.

Les boucles, normalement, ça s'apprend avant même d'imaginer une interface graphique.

Ici, un bon cours.
Et même si tu passes 15 jours ou 3 semaines dessus, toutes les bases auront été vues.
0
cindylechat Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci beaucoup pour ta réponse.

Es-tu capable de me dire comment faire pour que la corde aléatoire soit seulement entre les choix que l'utilisateur a faits plus tôt (checkbox) ?
0
Utilisateur anonyme
 
heu...
je ne suis pas sûr d'avoir compris ce que tu veux.
0
cindylechat Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   6
 
Au début, j'ai 5 checkboxes qui réprésentent chacune une corde.
Le nombre random doit être en fonction des checkboxes qui ont été cochées plus tôt.
Exemple:
L'utilisateur coche la case A et D.
Alors, la lettre random doit être soit A ou D. Comment je m'y prend ?

En espérant avoir été plus claire dans mes explications.
0
Utilisateur anonyme
 
Au lieu de faire un tableau de lettres, tu fais une liste de checkbox cochées, et du fait le random en fonction du nombre d'éléments dans la liste.
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0