Bestimmen Sie die Etikettengröße basierend auf der Textmenge und der Schriftgröße in Winforms / C #

Ich würde gerne wissen, ob es einen besseren Ansatz für dieses Problem gibt. Ich möchte die Größe eines Etiketts (vertikal) ändern, um eine bestimmte Textmenge aufzunehmen. Mein Etikett hat eine feste Breite (ungefähr 60 Zeichen, bevor es umgebrochen werden muss), ungefähr 495 Pixel. Die Schrift hat ebenfalls eine feste Größe (12 Punkte afaik), der Text jedoch nicht.

Was ich tun möchte, ist die Etikettenhöhe zu erhöhen, wenn es eine "NewLine" gibt oder der Text umgebrochen werden muss. Die Idee ist, dass der Text auf dem Etikett vollständig sichtbar ist. Die AutoSize-Funktion funktioniert nicht, da die Breite und nicht die Höhe zunimmt.

Natürlich könnte ich die Anzahl der NewLines zählen und hinzufügen: Newlines * LineHeight, und dann -geben, dass ich es schaffe, 60 Zeichen pro Zeile zu setzen, einfach die Anzahl der Zeichen zu teilen und so viele LineHeight-Pixel wie nötig hinzuzufügen.

Ich habe mich gefragt, ob es einen professionelleren Weg dafür gibt. Ist mein Ansatz zu "lahm"?

Danke im Voraus

Antworten auf die Frage(20)

Ihre Antwort auf die Frage