Entwickler-Ecke

WinForms - Textumbruch in einem Labelobjekt möglich?


Felix2000 - Do 18.08.11 12:57
Titel: Textumbruch in einem Labelobjekt möglich?
Hi Folks !

Ist es eigentlich möglich, einem Label auf einem Windows Form einen Textumbruch / Zeilenumbruch hinzuzufügen, wenn der Labeltext zu groß für ein Formular ist? Wenn ja, wie kann ich das einstellen?

Greetz
Felix


mats74 - Do 18.08.11 13:27

Hallo Felix2000

Verwende die Escape-Sequenz \n für Zeilenumbruch.


C#-Quelltext
1:
label1.Text = "Hallo\ndu da!";                    


Zusätzlich kannst du \r für Wagenrücklauf verwenden, damit der Cursor am Anfang der neuen Zeile steht.

Gruss
mats74


bakachan - Do 18.08.11 13:40

Anstelle von "\n" oder "\n\r" würde ich Environment.Newline empfehlen.

Wenn die Zeilenumbrüche automatisch eingefügt werden sollen wenn die Zeile nicht lang genug ist, kannst du auch einfach AutoSize auf false setzen und dafür sorgen das Control hoch genug ist.


Felix2000 - Do 18.08.11 14:34

Hi Folks !

also ich habe das eben mal versucht direkt über die GUI von Visual Studio einzustellen und die Eigenschaft Autosize auf True gestellt. Leider passiert allerdings nicht wie geünscht der Zeilenumbruch, wenn die Kante des Formulars erreicht wird.

Besteht evtl. wirklich nur die Möglichkeit, dass per Code auf dem Objekt direkt zu gestalten?

Greetz
Felix


bakachan - Do 18.08.11 14:46

Das Autosize muss ja auch auf false stehen, nicht auf true (siehe oben).

Hier mal ein Beispiel zum veranschaulichen:
Mach dir einfach mal ein leeres Formular, erstelle darauf ein Label. AutoSize auf false und Dock auf Fill. Dann setzt du einen Text, startest das Programm und veränderst mal ein bischen die Formulargröße. Dabei sollte der Text dann automatisch umgebrochen werden wenn die Breite nicht ausreicht.