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 :

Controls Checkbox en série


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Par défaut Controls Checkbox en série
    Bonjour,
    J'ai dans un Form plusieurs cases à cocher nommées chkM1, chkM2, chkM3, etc ...
    je souhaite après avoir coché le chkM1 qu'il me coche les douz cases à cocher suivantes.
    Voici le code utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim i As Integer
            If chkM1.Checked = True Then
                For i = 2 To 12
                    Me.Controls("ChkM" & i).checked = True
                Next
            End If
    il n'accepte pas le code dans la boucle.

    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Comme ceci (je ne code pas en vb.net) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DirectCast(Me.Controls("ChkM" & i),CheckBox).Checked = True

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Par défaut
    Merci pour ta réponse mais il me met l'erreur suivante :
    "Variable objet ou variable d'un bloc with non définie"

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Par défaut
    Yep!

    Avec un peu de recherche tu aurais trouvé cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub cocher()
            For Each ctrl As Control In Me.Controls
                If TypeOf ctrl Is CheckBox Then
                    Dim c As CheckBox = CType(ctrl, CheckBox)
                    c.Checked = True
                End If
            Next
        End Sub
    Ici : http://www.developpez.net/forums/d56...xes-vb-cocher/

    Testé & approuvé ;-)

    Bon W-e !

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Par défaut
    Merci pour ta réponse.
    Je vais essayer ce soir d'adapter ton code avec ma variable i pour le nom du checkbox.
    J'ai peur que la boucle "For Each ctrl As Control In Me.Controls" prenne du temps car j'ai un formulaire important avec de nombreux controls sur plusieurs onglets.
    A moins qu'il y ait un moyen de restreindre à un seul onglet du formulaire, mais là je ne sais pas faire.
    Je pense qu'Il serait judicieux d'utiliser Controls("Nom" & i). Je vais encore chercher.

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    J'ai peur que la boucle "For Each ctrl As Control In Me.Controls" prenne du temps car j'ai un formulaire important avec de nombreux controls sur plusieurs onglets.
    Pas de souci de performance à moins qu'il y ait des millers de contrôles.

    Si les CheckBox sont dans un même container (TabPage, Panel, ...) il faudra remplacer "Me" par le container ("panel1" par exemple).

    Si les checkbox sont des containers differents, il faudrait écrire une fonction récursive avec comme paramêtres d'entrées un control ("Me" au départ) et le nom du contrôle recherché ("ChkM" & i au départ) et renvoyant le contrôle recherché.

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

Discussions similaires

  1. Controle checkbox dynamique
    Par Nemesis007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/12/2009, 16h49
  2. [ASP.NET] Control CheckBox + Javascript
    Par dinbougre dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/04/2008, 17h14
  3. Controller CheckBoxes ayant le même nom.
    Par JFKen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/08/2006, 10h19
  4. controler checkBox à partir d'un autre classeur
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/07/2006, 09h26
  5. controle checkbox
    Par lafouine1986 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 13/11/2005, 14h52

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