Je développe sous Visual Studio 2019 en VB .Net et j'aimerai récupérer la taille de mes labels.
Le problème c'est que cette taille semble plafonnée à 100 alors que j'ai bien mis AutoSize à True et j'ai augmenté le maximumSize aussi mais rien n'y fait.
Je vous met le code complet, les lignes en questions sont vers le début à la seconde boucle For
Private dictLabel As New Dictionary(Of Integer, Label)
Private dictUnderines As New Dictionary(Of Integer, Panel)
Sub New(ByVal btnTxt() As String, ByVal btnColor() As Color, ByVal loc As Point)
For i = 0 To btnTxt.Length - 1
' Instancier les labels
Dim lbl As New Label
dictLabel.Add(i, lbl)
' Instancier les panels
Dim udr As New Panel
dictUnderines.Add(i, udr)
Next
For i = 0 To btnTxt.Length - 1
' Labels
dictLabel(i).AutoSize = True
dictLabel(i).Text = btnTxt(i)
dictLabel(i).Font = New Font("Microsoft Sans Serif", 12, FontStyle.Regular)
dictLabel(i).MaximumSize = New Size(1000, 1000)
dictLabel(i).Dock = DockStyle.Left
If i = 0 Then
dictLabel(i).Location = New Point(0, 0)
Else
dictLabel(i).Location = New Point(dictLabel(i - 1).Width + 30, 0)
End If
' Underlines
dictUnderines(i).Height = 5
dictUnderines(i).Width = dictLabel(i).Width
dictUnderines(i).BackColor = btnColor(i)
dictUnderines(i).Location = New Point(dictLabel(i).Location.X, 30)
' Insertion des 'underlines' dans le formulaire
Controls.Add(dictUnderines(i))
Next
Form_Main.Label1.Text = dictLabel(0).Width
Form_Main.Label2.Text = dictLabel(1).Width
' Initialisation du paneau principal
Location = loc
'Height = dictLabel(0).Height + 10
Height = 40
For i = 0 To btnTxt.Length - 1
Width += dictLabel(i).Width + 30
Next
BorderStyle = BorderStyle.FixedSingle
' Insertion des labels dans le formulaire
For i = btnTxt.Length - 1 To 0 Step -1
Controls.Add(dictLabel(i))
Next
End Sub
Merci par avance si vous avez une idée.
[VB .Net] Problème avec la largeur des Labels
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.