[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):
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):
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