Bonjour à tous,

alors voici mon petit problème. J'ai un form avec 19 checkboxs regroupées dans un groupbox. 1 checkbox s'intitule "all" et doit me cocher les 18 checkboxs restantes, seulement j'aimerais implémenter cette action à l'aide d'une boucle for. Ca donnerait un truc dans le style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

        For i = 2 To 19
            If CheckBox1.Checked = True Then
                CheckBox(i).checked = True
            Else : CheckBox(i).checked = False
            End If
        Next i
Seulement, bah ca marche pas..."checkbox ne peut pas être utilisé en tant qu'expression" qu'il me dit.

Donc je tente les controles comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
  Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

        For i = 2 To 19
            If CheckBox1.Checked = True Then
                Controls("checkbox" & i).checked()= True
            Else : Controls("checkbox" & i).checked()= False
            End If
        Next i
Je le tente de toutes les formes, ca marche pas non plus.

Alors faute de mieux, je me la fait a la méthode bourrin, je vous l'avoue, ce n'est pas très élégant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
 
        If CheckBox1.Checked = True Then CheckBox2.Checked = True Else CheckBox2.Checked = False
        If CheckBox1.Checked = True Then CheckBox3.Checked = True Else CheckBox3.Checked = False
... ... ...
        If CheckBox1.Checked = True Then CheckBox19.Checked = True Else CheckBox19.Checked = False
Donc si quelqu'un pouvait m'aider à "affiner" ce programme, j'en serais ravi.

Cordialement