Wie man position a Label horizontal in Windows Forms code-behind
Ich habe eine Windows form, ich will manipulieren von code-behind.In anderen Worten:
Kann ich tun Sachen wie diese:
myForm.TheLableThatIWantToPosition.Text = "Some text!";
myForm.TheLableThatIWantToPosition.ForeColor = Color.Red;
etc.
Aber, wie kann ich die position horizotnally ? Ich möchte es mittig horizontal.
Habe ich versucht mit der:
myForm.TheLableThatIWantToPosition.TextAlign = ContentAlignment.MiddleCenter;
und all die anderen Optionen, aber es funktioniert einfach nicht passieren.
- was meinst du mit der Positionierung des label horizontal ? können Sie erklären es genauer ?
- Sie möchten align text des Labels oder label selbst?
- Nun, ich habe ein Label, das sich dynamisch ändert seine .Text und nach dem text der Länge Sie nicht horizontal ausgerichtet in der Mitte, aber es fängt gerade an, aus dem gleichen Punkt, und sinkt, je nach der Länge des Textes.
- King ' s Antwort unten sollten den trick tun
- Sie haben wahrscheinlich einfach nur vergessen die label AutoSize-Eigenschaft auf false.
- es sieht so aus, Sie wollen Ihre Inhalte zu
centered
nicht die ganzeLabel
? wenn ja, was tun Sie wollen, dass es auf zentriert? (dieLabel Bounds
oderLabel's Parent Bounds
)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, center align Inhalt im label -
Können Sie den code in eine
SizeChanged
event-handler für daslabel1.Parent
:Besser sollten Sie so etwas tun:
Machen es dynamisch, zum Beispiel, Sie haben eine Klasse
CustomLabel
und Sie wollen, dass es standardmäßig zentriert dargestellt, wenn es angebracht/Hinzugefügt in einen anderen container:TextChanged
es kümmert sich umSizeChanged
.redundant
Ausführung.NullReferenceException
wenn Sie set parent zu null. Ist es nicht?Parent!=null
vor der Zentrierung ist es, ich aktualisierte code so, dass das problem derold parent and new parent
hat, nicht dort gewesen zu sein.