IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C# 2.0][VS2005] Utilisation des boutons radio


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut [C# 2.0][VS2005] Utilisation des boutons radio
    Bonjour à tous,

    Voilà, j'utilise donc, VS2005, et je programme en C#, enfin, j'essai !!!
    J'ai cherché sur le forum, et sur le site ne trouvant pas mon bonheur, je me suis décidé de poster un message sur ce nouveau forum.
    Alors, voilà, j'aimerai bien que l'on m'éxplique l'utilisation de plusieur bouton radio.
    Je voudrai en utiliser 5, et récupérer, quand je clique sur un bouton, lequel est coché.
    je supose que c'est facile, mais ne trouvant pas la solution, moi-meme, je demande à des professionnel.

    D'avance merci

    @+

    Takahashi Keisuke

  2. #2
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    il suffit de mettre les radiobuttons dans le même container (groupbox par exemple) et automatiquement il n'y en aura qu'un seul actif à la fois.

    Le radiobutton actif est celui qui a sa propriété Checked à true.

    @+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 78
    Points
    78
    Par défaut
    Tu connais déjà le principe d'un bouton radio ??
    Car si ne le sais pas, c'est déjà plus dur à saisir.

    En principe, un bouton radio se fait par groupe quoique avec VS je ne sais même plus si il faut programmer ça... En java on devait car on travaillait sans IDE.

    SIi tu veux faire ça de manière propre, tu dois quand même faire un groupe je pense.
    Tu mets un event handler (un gestionnaire d'événement) sur le groupe de bouton radio.
    Et tu regardes après l'événement CheckedChanged je pense... De mémoire ça ressemblait à ça.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    alors, je les ai mis dans un "groupbox", et je sais le principe des bouton radio.
    par contre je ne sais pas comment récupéré, lequels des 5 est "checked".

    Takahashi Keisuke

  5. #5
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par keisuke
    alors, je les ai mis dans un "groupbox", et je sais le principe des bouton radio.
    par contre je ne sais pas comment récupéré, lequels des 5 est "checked".

    Takahashi Keisuke
    il faut les tester 1 a 1 tu n'as pas d'autre solution.

    C'est un des trucs "chiant" de dotnet.
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    il faut que je fasse genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(radiobutton1.checked == true)
    {
    //implantaion dans une variable
    }
    ....
    est-ce ça ?

  7. #7
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Oui

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    et pour la variable, est-ce que je peux faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(radiobutton1.checked == true)
    {
        string var1 = "test";
    }
    else if(radiobutton2.checked == true)
    {
        string var1 = "test2";
    }
    ....
    et récupéré a la fin:
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    label1.text = var1;
    est-ce que ça fonctionne ou pas ?

  9. #9
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    non parce que ta variable n'est définie que dans le if ou dans le else, pas en dehors.

    Tu devrais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    string var1;
     
    if(radiobutton1.checked == true)
    {
        var1 = "test";
    }
    else if(radiobutton2.checked == true)
    {
        var1 = "test2";
    }
     
    label1.Text = var1;
    @+

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    OK, merci, je regarde ça.

    j'ai essayé, et voila le message:

    Error 1 A local variable named 'radio' cannot be declared in this scope because it would give a different meaning to 'radio', which is already used in a 'parent or current' scope to denote something else G:\Documents and Settings\keisuke\My Documents\Visual Studio 2005\Projects\SDZ_News\SDZ_News\Form5.cs 185 24 SDZ_News
    je ne comprend pas, pouvez vous m'éxpliqué l'erreur ?
    merci

    Takahashi Keisuke

  11. #11
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    tu peux aussi utiliser une méthode qui te renvoie le radiobutton checké :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    private RadioButton WichRadioIsChecked(Control Ctrl)
     {
                RadioButton rb = null;
                foreach(Control  c in Ctrl.Controls)
                {
                    if(c is RadioButton)
                    {
                        RadioButton rbTemp = (RadioButton)c;
                        if(rbTemp.Checked)
                        {
                            rb = rbTemp;
                            break;
                        }
                    }
                }
     
           return rb;
     }
    que tu utilisera ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    RadioButton r = WichRadioIsChecked(LE CONTROLE QUI CONTIEN LES RADIOBUTTONS);
     if(r == null)
    {
          MessageBox.Show("pas de radibutton checké");
    }
    else
    {
           MessageBox.Show("radio checké = "+r.Name);
    }
    "r" est le radiobutton qui est coché
    Avant de poster, voir les faq, les sources et utiliser la fonction rechercher

    Mon site

  12. #12
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    c'est simplement parce que le nom "radio" est un nom system que tu redefini je crois
    développeur en folie cherche à ... développer encore plus

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    je vous remercie tous, j'ai réussi.

    alors voilà, tous d'abort j'ai déclaré ma variable dans la classe: string radio;
    ensuite j'ai prix le code de sam_XIII,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    private RadioButton WichRadioIsChecked(Control Ctrl)
     {
                RadioButton rb = null;
                foreach(Control  c in Ctrl.Controls)
                {
                    if(c is RadioButton)
                    {
                        RadioButton rbTemp = (RadioButton)c;
                        if(rbTemp.Checked)
                        {
                            rb = rbTemp;
                            break;
                        }
                    }
                }
     
           return rb;
     }
    puis adapter l'autre code a mon prog :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    RadioButton r = WichRadioIsChecked(groupbox1);
     if(r != null)
    {
        if(r.Name == "nom_de_bouton_radio")
        {
        //je met ma variable sans le string.
        radio = "test";
        }
        else if(r.Name == "nom_du_bouton_radio2")
        {
        radio = "tes2";
        }
        ....
    }
    et ensuite je fais ce que je veux de la variable radio.

    voilà, encore mercie a tous,
    probleme résolu, et fonctionne nickel
    @+

    Takahashi Keisuke

  14. #14
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Citation Envoyé par sam_XIII
    tu peux aussi utiliser une méthode qui te renvoie le radiobutton checké :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    private RadioButton WichRadioIsChecked(Control Ctrl)
     {
                RadioButton rb = null;
                foreach(Control  c in Ctrl.Controls)
                {
                    if(c is RadioButton)
                    {
                        RadioButton rbTemp = (RadioButton)c;
                        if(rbTemp.Checked)
                        {
                            rb = rbTemp;
                            break;
                        }
                    }
                }
     
           return rb;
     }
    que tu utilisera ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    RadioButton r = WichRadioIsChecked(LE CONTROLE QUI CONTIEN LES RADIOBUTTONS);
     if(r == null)
    {
          MessageBox.Show("pas de radibutton checké");
    }
    else
    {
           MessageBox.Show("radio checké = "+r.Name);
    }
    "r" est le radiobutton qui est coché
    Merci Sam.

    Nous allons intégrer cela dans la fAQ, ca peut servir à d'autres

    Juste un détail... Pour éviter l'utilisation d'une variable inutile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    private RadioButton WichRadioIsChecked(Control Ctrl)
     {
    RadioButton rb = null;
                foreach(Control c in Ctrl.Controls)
                {
                    if(c is RadioButton)
                    {
                        rb= (RadioButton)c;
                        if(rb.Checked)
                            return rb;                       
                    }
                }
     
    return null;
     }

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2012, 09h11
  2. Utilisation des boutons Radio sous Qt
    Par ZouBi dans le forum Qt
    Réponses: 2
    Dernier message: 28/03/2008, 22h47
  3. [VB6]Utilisation des boutons radio.
    Par Chocapic dans le forum VB 6 et antérieur
    Réponses: 27
    Dernier message: 14/06/2006, 11h48
  4. [Debutant] Pb avec récupération valeurs des boutons radio
    Par Jibees dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/03/2006, 14h25
  5. [C#] Lier des boutons radio dans une application mobile
    Par Loïc56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/04/2005, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo