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 :

Accéder à une checkbox dans un panel ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 116
    Par défaut Accéder à une checkbox dans un panel ?
    Bonjour à tous,

    Je vous explique mon soucis.
    J'ai 2 panels composés chaqu'un d'une série de checkbox qui correspondent 2 à 2 horizontalement.
    Si l'utilisateur coche la checkbox du panel gauche alors celle du panel droit correspondant doit devenir .enabled = false et inversement.

    J'ai mis ça comme embryon de code :

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim c As CheckBox
    Dim i As Integer
            For Each c In pnlécrit.Controls
                If c.Checked Then
                    pnloral.CHECKBOX(i).enabled = False
                End If
                i += 1
            Next

    Ce que j'ai mis en majuscule est bien évidemment faux mais c'est pour que vous voyez l'idée.
    En d'autres thermes je voudrais pouvoir accéder à chaque checkbox via le panel.

    Merci d'avance .

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Tu peux leur ajouter un tag avec un numéro. Comme ca tu compare les numéro, s'ils sont identiques alors tu sais que les deux checkbox sont "reliés".

    Autrement tu peux les mettre dans le même ordre dans les 2 panels etton code devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            For index = 1 To pnlécrit.Controls.Count
                Dim cbx As CheckBox = CType(pnlécrit.Controls.Item(index), CheckBox)
                If cbx.Checked Then
                    Dim cbx2 As CheckBox = CType(pnloral.Controls.Item(index), CheckBox)
                    cbx2.Checked = True
                End If
            Next

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 116
    Par défaut
    Merci bien mais par contre, y'a une difficulté supplémentaire que j'ai oublié de préciser, c'est que y'a pas le même nombre de checkbox dans les 2 panels (12 dans l'un, 6 dans l'autre).
    Y'en a donc à qui aucun checkbox ne correspond.

  4. #4
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Tu peux leur ajouter un tag avec un numéro. Comme ca tu compare les numéro, s'ils sont identiques alors tu sais que les deux checkbox sont "reliés".

    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
     
     
    For index = 1 To pnlécrit.Controls.Count
        Dim cbx As CheckBox = CType(pnlécrit.Controls.Item(index), CheckBox)
        Dim i as Integer = CType(cbx.Tag, Integer)
        If cbx.Checked Then
            For index2 = 1 To pnloral.Controls.Count
                Dim cbx2 As CheckBox = CType(pnloral.Controls.Item(index), CheckBox)
                Dim i2 as Integer = CType(cbx2.Tag, Integer)
                If i = i2 Then
                    cbx2.Checked = True
                End If
            Next
        End If
    Next
     
        End If
    Next

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 116
    Par défaut
    Merci ça marche.
    J'ai juste à rajouter du code pour que si on décoche une checkbox, l'autre checkbox redevienne enabled à true .

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

Discussions similaires

  1. [C#] Comment ouvrir une form dans un panel
    Par Le Basque dans le forum Windows Forms
    Réponses: 7
    Dernier message: 28/02/2007, 12h31
  2. [VB6]Accéder à une fenêtre dans une application VB
    Par issaines dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 05/04/2006, 14h58
  3. Récuperer valeurs d'une checkbox dans la base Mysql
    Par pod1978 dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 10/03/2006, 14h29
  4. Utilisation d'une Checkbox dans ACCESS
    Par boblebob dans le forum Access
    Réponses: 17
    Dernier message: 16/11/2005, 12h31
  5. [Drag & Drop] Mettre une fiche dans un panel
    Par corwin_d_ambre dans le forum Composants VCL
    Réponses: 5
    Dernier message: 12/01/2004, 10h46

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