Laden...

Location Von Top Left in Top Right ändern

Erstellt von Jesfreric vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.621 Views
J
Jesfreric Themenstarter:in
40 Beiträge seit 2016
vor 7 Jahren
Location Von Top Left in Top Right ändern

Liebe Community

Ich bin gerade dabei ein dynamisches Windows Form zu programmieren.
Dazu habe ich einige Buttons die regelmäßig angeordnet werden sollen (Abstand zwischen rechtem und linken Button vom Rand soll dabei identisch sein).

Der Abstand des Buttons vom Rand ist jetzt mal iLXcmd = 40;
Die Gesamtfensterbreite ist iDXmain = 600;
Die Breite des Button ist iDXcmd = 100;

Die Methode .Location = new Point( iLXcmd, 80) richtet sich ja am linken oberen Rand des Steuerlements aus. Für den linken Button ist das ja schön und gut, für den rechten bereitet mir das aber Probleme. Ich habe versucht den rechten Button wie folgt auszurichten:
.Location = new Point(iDXmain - iDXcmd - 40, 80)

Leider führt dies nicht zum gewünschten Ergebnis. Der Abstand ist nicht zu dem vom linken identisch...
Meine Frage. Gibt es eine Möglichkeit die .Location Methode auf "Top-Right" des Steuerelements anzuwenden?

Viele Grüße
Jesfreric

W
196 Beiträge seit 2008
vor 7 Jahren

Wie wäre es mit 'anchor', 'dock' und/oder TableLayout?

1.040 Beiträge seit 2007
vor 7 Jahren

Für die Berechnung darf NICHT Form.Size genutzt werden. Man muss Form.ClientSize nutzen, dann klappt es.

J
Jesfreric Themenstarter:in
40 Beiträge seit 2016
vor 7 Jahren

Genau DAS was ich gesucht habe 😃 😃

Hab ganz ganz vielen Dank 😃

W
196 Beiträge seit 2008
vor 7 Jahren

Da Du nicht genau schreibst, welches das jenige ist, was Du gesucht hast und ich 'befürchte' das Du den Tipp von P!lle meinst, möchte ich Dich nochmal ausdrücklich davor warnen, das Layout Deines Fensters auf diese Art und Weise zu gestalten. Das fliegt Dir spätestens dann 'um die Ohren', wenn ein User mal nicht mit der Standardauflösung von 96 dpi arbeitet.

Besser wäre es die von mir vorgeschlagenen Layoutmechanismen zu verwenden, welche Windows von Haus aus mitbringt - insbesondere das TableLayoutPanel eignet sich wunderbar zur Darstellung solcher Interfaces...