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!!