Ich habe ein WinForms-Panel, das zwei Elemente enthält, z. Etiketten.Etikettensteuerelemente innerhalb des Fensters in WinForms anders ausrichten
Ich muss sie horizontal anders ausrichten, sagen wir, Label1 muss an der Mitte des Panels ausgerichtet werden und Label2 muss an der rechten Seite des Panels ausgerichtet werden. Die Ausrichtung muss bei der Größenänderung beibehalten werden.
Welches Panel soll ich verwenden? Panel? FlowLayoutPanel? Noch etwas? Wie sollte ich die Eigenschaften von Panel/Labels einstellen, um die obige Anordnung zu erreichen?
Es ist besser, ein Bild vor der Größenanpassung und und Bild nach der Größenänderung zu teilen, dann wäre die Anforderung klarer. Vielleicht sind es nur einige Eigenschafteneinstellungen, die 'Anchor' verwenden, vielleicht benötigen Sie einen Code für die Ereignisbehandlung. –
Label kann es selbst tun, ohne Hilfe von der Tafel. Verwenden Sie die Anchor-Eigenschaft. Verwenden Sie Oben + Rechts, um die Ausrichtung nach rechts auszurichten. Center ist ein bisschen mehr Arbeit: Verwenden Sie AutoSize = False, TextAlign = TopCenter, positionieren Sie die Beschriftung in der Mitte, Anker = Links + Oben + Rechts. –
@Hans Passant: es funktioniert fast so, wie ich brauche. Ihre Anweisung "Positionieren Sie das Etikett in der Mitte" reicht nur aus, wenn die Größenänderung die Breite erhöht. Für eine funktionierende Lösung zur Verringerung der Breite muss "Position des Etiketts in der Mitte" ersetzt werden, um "die Breite des Etiketts zu den Rändern der umschließenden Platte zu strecken (und ja, mach die Dehnung der rechten Seite durch Label2)". In letzterem Fall muss man sich auch um die z-Ordnungen kümmern, um zu vermeiden, dass label2 versteckt wird. – Feri