Αν έχω καταλάβει καλά, θέλεις να αυξομειώνεται το label Height ανάλογα με το περιεχόμενο
Κάνε το Label dock Top και στο TextChanged event κάλεσε την παρκάτω Sub (λυπάμαι για την VB)
Private
Sub FixHeight(ByVal Ctl As System.Windows.Forms.Label)
Dim grfx As Graphics = CreateGraphics()
Dim strText As String = Ctl.Text 'Παίρνουμε το κείμενο του label
Dim sizfText As New SizeF(grfx.MeasureString(strText, Ctl.Font)) 'και βρίσκουμε το μέγεθος που απαιτεί για να εμφανιστεί
'Aν το width είναι μικρότερο από αυτό που χρειάζεται για να χωρέσει το text
If Ctl.Size.Width < sizfText.Width Then
'Προσαρμόζουμε το label για να χωρέσει το κείμενο
Dim m = Int(sizfText.Width / Ctl.Size.Width) + 1
Ctl.Size = New System.Drawing.Size(Ctl.Size.Width, (m * sizfText.Height))
Else
Ctl.Size =
New System.Drawing.Size(Ctl.Size.Width, sizfText.Height)
End If
End Sub
Σταύρος Βαλσάμης
Προγραμματιστής