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

VB.NET Discussion :

Remettre à zéro tous les RadioButtons [Débutant]


Sujet :

VB.NET

  1. #1
    Membre actif Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Points : 229
    Points
    229
    Par défaut Remettre à zéro tous les RadioButtons
    Bonsoir à vous. J'ai besoin de l'aide de la communauté. Voilà mon problème:
    J'ai Form1 qui contient 10 GroupBox. Dans chaque GroupBox il y a 3 RadioButton. J'ai aussi un Button qui retourne un résultat dans un Label selon les RadioButton sélectionnés. Jusque ici tout va bien. Mais comment faire pour désélectionner tous les RadioButton (avec un Button "RAZ") pour revenir au début du programme?
    Merci
    J'apprends la programmation pour le plaisir

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    bonsoir,

    une petite fonction récursive permet de faire cela :
    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
    19
    20
    21
    22
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            resetChecked(Me)
     
        End Sub
     
        Private Sub resetChecked(ByVal cont As Control)
            If TypeOf (cont) Is RadioButton Then
                CType(cont, RadioButton).Checked = False
     
            ElseIf TypeOf (cont) Is GroupBox Or TypeOf (cont) Is Panel Or TypeOf (cont) Is Form Then
     
                For Each elem In cont.Controls
                    resetChecked(elem)
                Next
     
     
            End If
        End Sub
     
    End Class
    Bonne nuit,

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Une variante en ciblant sur les types de contrôles. (et le besoin exprimé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Private Sub Button2_Click_1(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            ResetRadioBouton(Me)
        End Sub
        Sub ResetRadioBouton(ByVal conteneur As Control)
            For Each gb In conteneur.Controls.OfType(Of GroupBox)()
                For Each rdb In gb.Controls.OfType(Of RadioButton)()
                    rdb.Checked = False
                Next
            Next
        End Sub
    On pourrait bien sur la rendre récursive.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Membre actif Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Points : 229
    Points
    229
    Par défaut
    Merci à vous bcp
    J'ai fait un copier/coller et ça marche. Mais il m'a fallu 2h pour le comprendre (après, c'est la migraine). Mais il y a une chose qui me tracasse, puisque le "sub ResetRadioBouton" prend un type control comme paramètre , donc Me est un control?
    Merci de votre aide
    J'apprends la programmation pour le plaisir

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par stracoma Voir le message
    Merci à vous bcp
    donc Me est un control?
    Merci de votre aide
    Pas forcément, Me sert à désigner l'objet en cours, cela peut-être un contrôle, ou autre chose, dépendant du context
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par stracoma Voir le message
    Mais il y a une chose qui me tracasse, puisque le "sub ResetRadioBouton" prend un type control comme paramètre , donc Me est un control?
    Dans l'exemple que j'ai donné, dans l'instruction ResetRadioBouton(Me), Me représente le Form, c'est donc un contrôle.
    La méthode ResetRadioBoutonreçoit donc le form en paramètre et traite tous les GroupBox présent sur le form.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  7. #7
    Membre actif Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Points : 229
    Points
    229
    Par défaut
    Je trouve la remarque de rv26t logique et je l'ai bien assimilée.
    par contre
    Pas forcément, Me sert à désigner l'objet en cours, cela peut-être un contrôle, ou autre chose, dépendant du context
    dans cette exemple précisément:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Private Sub Button2_Click_1(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            ResetRadioBouton(Me)
        End Sub
        Sub ResetRadioBouton(ByVal conteneur As Control)
            For Each gb In conteneur.Controls.OfType(Of GroupBox)()
                For Each rdb In gb.Controls.OfType(Of RadioButton)()
                    rdb.Checked = False
                Next
            Next
        End Sub
    Me doit être forcément et obligatoirement être un contrôle, n'est ce pas Mr clementmarcotte?
    J'apprends la programmation pour le plaisir

  8. #8
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Bonjour

    comme tu ne peux pas te servir du nom de ta form dan la form meme on utilise me
    ex écris
    ResetRadioBouton(form1) au lieu de ResetRadioBouton(me) tu obtiens une erreur

  9. #9
    Membre actif Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Points : 229
    Points
    229
    Par défaut
    Ok. merci shayw
    J'apprends la programmation pour le plaisir

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

Discussions similaires

  1. Remettre à zéro les n° de ligne dans la log
    Par Filippo dans le forum SAS Base
    Réponses: 3
    Dernier message: 19/07/2019, 01h57
  2. Tableau remis à zéro tous les jours
    Par groskanel dans le forum Langage
    Réponses: 56
    Dernier message: 06/01/2010, 12h31
  3. Lister tous les radioButton présents sur la scène
    Par olbouss dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 09/01/2009, 16h27
  4. Réponses: 11
    Dernier message: 03/11/2007, 18h33
  5. Remettre tous les icônes par défaut
    Par koKoTis dans le forum Windows XP
    Réponses: 4
    Dernier message: 19/12/2006, 19h38

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