Bonjour,

Je suis en train de programmer une application dans laquelle je dois modifier le nombre de colonnes d'un TableLayoutPanel (6, 8 et 10), mais pas le nombre de lignes de celui ci. Jusque là pas de problème. Cependant, lorsque je veux ajouter un label dans chaque case, cela ne fonctionne pas dans le cas où je n'ai que 6 colonnes. Je ne peux en ajouter que dans les 6 premières lignes et pas dans les deux dernières...

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
18
19
20
21
22
23
24
25
26
27
28
     Private Sub DebutantToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DebutantToolStripMenuItem.Click
        reinitialise()
        If IntermediaireToolStripMenuItem.Checked Then
            TableLayoutPanel1.ColumnStyles.RemoveAt(7)
            TableLayoutPanel1.ColumnStyles.RemoveAt(6)
        ElseIf ExpertToolStripMenuItem.Checked Then
            TableLayoutPanel1.ColumnStyles.RemoveAt(9)
            TableLayoutPanel1.ColumnStyles.RemoveAt(8)
            TableLayoutPanel1.ColumnStyles.RemoveAt(7)
            TableLayoutPanel1.ColumnStyles.RemoveAt(6)
        End If
        TableLayoutPanel1.ColumnCount = 6
        For Each col In TableLayoutPanel1.ColumnStyles
            Dim colonne As Integer
            colonne = TableLayoutPanel1.ColumnStyles.IndexOf(col)
            TableLayoutPanel1.ColumnStyles.Item(colonne).Width = 16%
        Next
        For Each cases In TableLayoutPanel1.Controls
            cases.text = "."
            cases.backcolor = Color.Transparent
        Next
 
        DebutantToolStripMenuItem.Checked = True
        ExpertToolStripMenuItem.Checked = False
        IntermediaireToolStripMenuItem.Checked = False
        Me.Refresh()
        nbTours = 8
    End Sub
Mon problème est donc situé dans la boucle for each cases in tablelayoutpanel1.controls... Je ne peux pas accéder aux deux dernières lignes (la collection retournée ne contiens que 36 labels alors qu'elle devrait en contenir 48...).

J'espère que vous pourrez m'aider !

Merci d'avance.