[VB.net] Créer une instance de TableLayoutPanel avec 1 seule ligne

Salut à tous,

(Note: Je suis à l'aise en VBA mais je suis débutant en VB.net, aussi veuillez me pardonner si il y a des choses/concept que je ne maitrise pas)

J'ai tenté de créer une classe qui me permettra d'instancier un TableLayoutPanel mais lorsque je l'instancie dans mon Formulaire, ça ne prend pas en compte mes RowCount et ColumnCount que j'ai défini dans ma class, je me retrouve toujours avec un TableLayoutPanel qui fait 2x2 alors que je veux un 1x3:

Imports System.Windows.Forms

Public Class MyCustomTableLayoutPanel45
    Inherits TableLayoutPanel

    Public Sub New()
        ' Configure le TableLayoutPanel
        Me.RowCount = 1
        Me.ColumnCount = 3

        ' Créez les contrôles (Button et PictureBox)
        Dim button As New Button()
        Dim pictureBox1 As New PictureBox()
        Dim pictureBox2 As New PictureBox()

        ' Personnalisez les contrôles
        button.Text = "Button"
        pictureBox1.BackColor = Color.Red
        pictureBox2.BackColor = Color.Blue

        ' Ajoutez les contrôles au TableLayoutPanel aux positions spécifiées
        Me.Controls.Add(button, 0, 0)
        Me.Controls.Add(pictureBox1, 1, 0)
        Me.Controls.Add(pictureBox2, 2, 0)
    End Sub
End Class

Quand j'instancie ça donne ça (2 lignes et 2 colonnes au lieu de 1 ligne et 3 colonnes):

image

Je suis visiblement obligé de faire ça pour avoir une 3ème colonne :

Me.GrowStyle = TableLayoutPanelGrowStyle.AddColumns

Mais je me retrouve toujours avec une ligne excédentaire (2 ligne au lieu de 1):

image

Sauriez vous comment faire pour que j'obtienne bien ce que je veux?

N.B. : Je pensais surcharger la classe mère mais visiblement ce n'est pas possible car TableLayoutPanel n'est pas Overridable.

Merci à vous pour votre aide

Rechercher des sujets similaires à "net creer instance tablelayoutpanel seule ligne"