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 :

VB 2010: cocher les checkbox d'un groupBox [Débutant]


Sujet :

VB.NET

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

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut VB 2010: cocher les checkbox d'un groupBox
    Bonsoir à vous tous.
    Pour apprendre le VB2010, j'essaie de faire des petits exemples, en voilà un:
    Nom : develloper.JPG
Affichages : 1068
Taille : 23,9 Ko
    Le bouton1 décoche toux les checkbox, pas de problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Public Sub resetout(ByVal cont As Control)
            For Each grb In cont.Controls.OfType(Of GroupBox)()
                For Each check In grb.Controls.OfType(Of CheckBox)()
                    check.Checked = False
                Next
            Next
        End Sub
    Le Bouton2 coche tous les checkbox, pas de problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Public Sub chequer(ByVal cont As Control)
            For Each grb In cont.Controls.OfType(Of GroupBox)()
                For Each chech In grb.Controls.OfType(Of CheckBox)()
                    chech.Checked = True
                Next
            Next
        End Sub
    Le Bouton3 va cocher juste les checkbox du groupBox2, ça m'a pris 2h pour trouver cette solution qui marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Sub chequer2(ByVal cont As Control)
            Dim grb As Control
            For Each grb In Me.Controls
                If grb.Name Like "GroupBox2" Then
                    For Each chch In grb.Controls.OfType(Of CheckBox)()
                        chch.Checked = True
                    Next
                End If
            Next
        End Sub
    Je me demande s'il y a une autre solution sans passer par "Name Like"
    Merci à vous.

  2. #2
    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
    Par défaut
    Bonjour,

    Il suffit d'avoir une méthode qui traite un seul conteneur et qui recevra en paramètre le contrôle GroupBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub chequer2(ByVal cont As Control)
                    For Each chch In cont.Controls.OfType(Of CheckBox)()
                        chch.Checked = True
                    Next
    End Sub
    Appel
    Mais afin d'éviter d'avoir 2 méthodes pour mettre à vrai ou à faux, nous allons utiliser un paramètre pour transmettre l'état vrai ou faux souhaité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Public Sub chequerVraiOuFaux(ByVal cont As Control, Etat As Boolean)
            For Each chch In cont.Controls.OfType(Of CheckBox)()
                chch.Checked = Etat
            Next
        End Sub
    Appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chequerVraiOuFaux(GroupBox2, True)
    ' ou
    chequerVraiOuFaux(GroupBox2, False)
    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.

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

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    rv26t, je ne sais comment vous remercier. J'ai appris beaucoup de choses
    Ma curiosité a été satisfaite.
    Problème résolu

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

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    On peut faire de même (plus beau) avec Button1 et Button2 (une seule méthode)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            cocheDecoche(Me, True)
        End Sub
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            cocheDecoche(Me, False)
        End Sub
        Public Sub cocheDecoche(ByVal cont As Control, ByVal Etat As Boolean)
            For Each grb In cont.Controls.OfType(Of GroupBox)()
                For Each chech In grb.Controls.OfType(Of CheckBox)()
                    chech.Checked = Etat
                Next
            Next
        End Sub

  5. #5
    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
    Par défaut
    Citation Envoyé par stracoma Voir le message
    On peut faire de même (plus beau) avec Button1 et Button2 (une seule méthode)
    Tout à fait, cela prouve que vous assimilez bien les concepts.
    Bonne continuation dans votre apprentissage.
    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.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/05/2010, 21h45
  2. Réponses: 6
    Dernier message: 18/03/2010, 17h16
  3. [JSF]Cocher toutes les checkbox d'une colonne
    Par Shivan dans le forum JSF
    Réponses: 6
    Dernier message: 14/07/2009, 19h09
  4. Cocher toutes les checkbox d'un formulaire
    Par stars333 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/06/2007, 18h43
  5. Réponses: 2
    Dernier message: 14/09/2006, 14h24

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