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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Développement
    Inscrit en
    Février 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développement
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 55
    Par défaut CheckedListBox problème avec les actions suivantes: cocher tout/ décocher tout/ recocher /redécocher des items
    Bonjour,

    je développe une application WinForm Vb.net et j'ai un problème avec un objet CheckedListBox.

    Voici ce que je veux faire: Dans ma liste de checkbox, si la première case est cochée, soit celle qui permet à l'utilisateur de Sélectionner/Désélectionner, je veux que les cases 0, 1, 2, et 3 soient cochées. Sinon (si la première case n'est pas cochée) alors je veux que les cases 0, 1, 2, 3 soient décochées.

    Voici mon problème : comment faire pour, par exemple, cocher deux items parmi la liste sans que les cases soient automatiquement décochées ? Aussi, comment faire pour décocher un item parmi tout ce qui a été sélectionné à l'aide de la première case, sans que celui-ci soit tout de suite "recochée"?

    Bref, dès que je tente de cochez une case alors que la première case est décochée, celle-ci se décoche automatiquement puisque ma deuxième condition fait en sorte que si la case 0 est décochée alors les cases seront toujours décochées. Aussi, si je tente de décocher une case lorsque celles-ci sont toutes cochées, alors celle-ci se "recoche" automatiquement, puisque ma première condition fait en sorte que, si la case 0 est cochée, alors les cases doivent toujours être cochées. J'ai essayé plusieurs choses, mais je n'obtiens pas un résultat propre. À noter que j'ai 12 checkboxs.

    Voici mon code:

    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
    Private Sub CheckedListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedIndexChanged
     
                If CheckedListBox1.GetItemChecked(0) = True Then
                For a = 0 To CheckedListBox1.Items.Count - 1
                    CheckedListBox1.SetItemChecked(a, True)
     
                Next
     
            Else
                For a = 0 To CheckedListBox1.Items.Count - 1
                    CheckedListBox1.SetItemChecked(a, False)
     
                Next
     
            End If
     
    End Sub
    Je crois que je m'y prends mal.
    Merci pour votre aide,

    a!!

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    A voir ce que le paramètre sender te renvoie, si c'est la checklistbox, ou l'item sur lequel tu clique.

    Si c'est l'item, il ne faut faire ton traitement que si Sender est égal à l'item 0

  3. #3
    Membre actif
    Femme Profil pro
    Développement
    Inscrit en
    Février 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développement
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 55
    Par défaut
    Il s'agit de l'item. Si je comprends bien je ne dois pas procéder de cette manière. Pourriez-vous me donner un exemple, car je comprends mal ce que vous dites ? En fait, je ne vois pas ce que je peux faire de plus...

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    S'il s'agit bien de l'item qui est dans Sender, tu fais ceci :

    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
    Private Sub CheckedListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedIndexChanged
    
       If Sender=CheckListBox1.Items(0) then
                If CheckedListBox1.GetItemChecked(0) = True Then
                For a = 0 To CheckedListBox1.Items.Count - 1
                    CheckedListBox1.SetItemChecked(a, True)
     
                Next
     
            Else
                For a = 0 To CheckedListBox1.Items.Count - 1
                    CheckedListBox1.SetItemChecked(a, False)
     
                Next
     
            End If
      End If
     
    End Sub

  5. #5
    Membre actif
    Femme Profil pro
    Développement
    Inscrit en
    Février 2016
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développement
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 55
    Par défaut
    Bonjour,
    En effectuant les modifications que m'avez recommandées, voici ma nouvelle fonction :


    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
            Dim item = DirectCast(sender, CheckedListBox).SelectedItem.ToString
     
            'MsgBox(item)
            If item = "Select/Deselect All" Then
                If CheckedListBox1.GetItemChecked(0) = True Then
                    For a = 0 To CheckedListBox1.Items.Count - 1
                        CheckedListBox1.SetItemChecked(a, True)
     
                    Next
     
                Else
                    For a = 0 To CheckedListBox1.Items.Count - 1
                        CheckedListBox1.SetItemChecked(a, False)
     
                    Next
     
                End If
            Else
                CheckedListBox1.SetItemChecked(0, False)
            End If
    Je ne pouvais pas comparer l'objet Sender à l'objet CheckedBoxList. Je ne sais pas si j'ai procédé correctement...J'ai remanié mon code et ça fonctionne parfaitement.

    Merci pour votre aide.

    a!!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir ,
    Pour information, tester un booléen pour mettre la même valeur a un autre booléen c'est inutile!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
            Dim item = DirectCast(sender, CheckedListBox).SelectedItem.ToString
     
            'MsgBox(item)
            If item = "Select/Deselect All" Then
                    For a = 0 To CheckedListBox1.Items.Count - 1
                        CheckedListBox1.SetItemChecked(a,  CheckedListBox1.GetItemChecked(0))
                    Next
            Else
                CheckedListBox1.SetItemChecked(0, False)
            End If

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/06/2008, 18h12
  2. Problème avec les cases à cocher
    Par Bonjour Maman dans le forum Langage
    Réponses: 4
    Dernier message: 23/04/2008, 14h54
  3. problème avec les action struts
    Par kevin75 dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/09/2006, 10h24
  4. [C#] Problème avec les checkedlistbox
    Par Julien94 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/02/2006, 14h05
  5. Problème avec les cases à cocher
    Par psycopat dans le forum Access
    Réponses: 8
    Dernier message: 20/10/2005, 14h25

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