[VB.NET] Aligner verticalement les icones et textes de boutons

[RESOLU]: j'ai utilisé un TableLayoutPanel et j'ai placé une pictureBox pour mettre mon icone dedans. Ensuite j'ai ajouté des évenements d'entrée et sortie de souris pour changer les couleurs de mon bouton ainsi que de ma PictureBox

Bonjour à tous,

Déjà familier avec VBA, je me suis lancé au VB.net sur Visual studio.

Seulement j'ai un soucis:

1) J'ai 2 boutons, et dans ces boutons figurent 2 choses:

- Une image (ou plutot l'icone du bouton)

- Le texte associé au bouton)

2) Ces deux boutons on la même hauteur, la même largeur et sont centrés verticalement

3) Seulement, le texte associé à chaque bouton étant de longueur différente, je me retrouve avec des boutons dont les textes et les icones ne sont pas centrés:

image

Les propriétés des deux boutons sont identiques:

image image

4) J'ai tenté de bidouiller en créant 2 boutons distincts:

- 1 avec mon icone dedans mais sans aucun texte

- 1 autre avec le texte mais sans icone

5) Néanmoins, je veux pouvoir jouir de la splendide propriété "FlatStyle", qui me permet de changer légèrement le contraste (enfin la couleur comme vous voulez) de mon bouton lorsque la souris passe dessus. Le problème c'est qu'en créant 2 boutons distincts, je veux que ma propriété flatstyle change sur les 2 boutons en même temps lorsque je passe la souris sur l'un des deux. Mais lorsque je fais ça (cf. mon code ci dessous), la couleur d'un de mes 2 boutons est différente de l'autre lors de l'évenement "MouseEnter"... Mais pourtant lors de l'évenement MouseLeave, les deux reprennent une couleur identique. Voici un gif qui illustre ça:

appliquer backcolor a deux boutons en meme temps

6) Au début j'avais pensé agir directement sur les propriété Flatappearence des 2 boutons, du genre comme ça:

 CustomButtonControl2.FlatAppearance.MouseOverBackColor = CustomButtonControl1.FlatAppearance.MouseOverBackColor

Mais ça ne donne rien...

7) Du coup j'ai essayé d'agir sur la backcolor (solution désespérée). Le code correspondant est le suivant: (CustomButtonControl1 étant celui à droite, celui où je passe ma souris dessus dans le gif)

Private Sub CustomButtonControl1_MouseEnter(sender As Object, e As EventArgs) Handles CustomButtonControl1.MouseEnter
    Dim customColor As Color = Color.FromArgb(150, 17, 23)
    CustomButtonControl1.BackColor = customColor
    CustomButtonControl2.BackColor = customColor
End Sub

Private Sub CustomButtonControl1_MouseLeave(sender As Object, e As EventArgs) Handles CustomButtonControl1.MouseLeave
    Dim customColor As Color = Color.FromArgb(175, 17, 23)
    CustomButtonControl1.BackColor = customColor
    CustomButtonControl2.BackColor = customColor
End Sub

Ci dessous les évènements en question:

image

J'aimerai avoir un rendu comme ça mais avec les textes et icones alignés quoi XD:

resultat attendu

E,n fait si je pouvais régler mon problème en 3), je n'aurai pas besoin d'aller aussi loin; mais cela dit ça m'intéresserai de savoir si il y a une solution à l'étape 5 quand même ...

Merci à vous pour votre aide, désolé pour la longue question

Rechercher des sujets similaires à "net aligner verticalement icones textes boutons"