Gewusst wie: Festlegen der Bildschirmposition von Windows Forms
Durch Angabe der Werte für die Location-Eigenschaft können Sie die Position festlegen, an der ein Formular auf dem Computerbildschirm angezeigt wird. Genaugenommen wird die Position der oberen linken Formularecke in Pixel festgelegt. Um die Grenzen des Anzeigebereichs anzugeben, müssen Sie außerdem die StartPosition-Eigenschaftfestlegen.
Tipp
Beachten Sie, dass Bildschirmgröße und Bildschirmauflösung je nach dem System des Benutzers häufig Unterschiede aufweisen können. Darüber hinaus können Systeme mit mehreren angeschlossenen Monitoren Schwierigkeiten haben, die Grenzen des Anzeigebereichs zu erkennen. In beiden Fällen entspricht die Position eines Formulars häufig nicht den gewünschten Vorgaben, auch wenn die Location-Eigenschaft festgelegt wurde. Die Standardeinstellung der StartPosition-Eigenschaft für eine Windows-Anwendung ist daher WindowsDefaultLocation. Das Betriebssystem erhält dadurch die Anweisung, beim Start die beste Position des Formulars unter Berücksichtigung der Hardwareausstattung zu berechnen. Eine andere Möglichkeit besteht darin, die StartPosition-Eigenschaft auf Center festzulegen und anschließend die Position des Formulars im Code zu ändern. Weitere Informationen erhalten Sie weiter unten unter "So positionieren Sie Formulare programmgesteuert".
So positionieren Sie Formulare über das Eigenschaftenfenster
Wählen Sie im Eigenschaftenfenster das Formular aus der Dropdownliste aus. Legen Sie die StartPosition-Eigenschaft des Formulars auf Manual fest.
Geben Sie die Werte für die Location-Eigenschaft als durch Trennzeichen getrennte Wertfolge ein. Der erste Wert (X) entspricht dabei dem Abstand vom linken und der zweite Wert (Y) dem Abstand vom oberen Rand des Anzeigebereichs.
So positionieren Sie Formulare programmgesteuert
Um die Position eines Formulars zur Laufzeit zu definieren, legen Sie die Location-Eigenschaft des Formulars auf einen Point fest, wie im folgenden Beispiel gezeigt:
Form1.Location = New Point(100, 100)
Form1.Location = new Point(100, 100);
Form1.set_Location(new Point(100, 100));
Form1->Location = Point(100, 100);
- oder -
Ändern Sie die X-Koordinate oder die Y-Koordinate der Formularposition mithilfe der untergeordneten Left-Eigenschaft (für die X-Koordinate) und der Top-Eigenschaft (für die Y-Koordinate). Im folgenden Beispiel wird als X-Koordinate des Formulars 300 Pixel festgelegt:
Form1.Left = 300
Form1.Left = 300;
Form1.set_Left(300);
Form1->Left = 300;
So ändern Sie die Formularposition programmgesteuert in Schritten
Erhöhen Sie den Wert für die X-Koordinate des Formulars mit der Left-Eigenschaft. Im folgenden Beispiel wird die X-Koordinate des Formulars um 200 Pixel angepasst:
Form1.Left += 200
Form1.Left += 200;
Form1.set_Left(Form1.get_Left() + 200);
Form1->Left += 200;
Tipp
Verwenden Sie die Location-Eigenschaft, um die X- und Y-Positionen für Windows Forms gleichzeitig festzulegen. Verwenden Sie die Left-Eigenschaft (X) oder die Top-Eigenschaft (Y), um die Werte einzeln festzulegen. Die X- und Y-Koordinaten der Point-Struktur, die die Position des Formulars darstellt, dürfen nicht implizit gesetzt werden, da diese Struktur eine Kopie der Koordinaten des Formulars enthält.
Anstelle der Location-Eigenschaft können Sie zum Festlegen der Formularposition auch die DesktopLocation-Eigenschaft verwenden. Durch diese Eigenschaft wird die Position des Formulars relativ zur Taskleiste festgelegt. Die Eigenschaft ist hilfreich, falls die Taskleiste am oberen oder linken Rand des Benutzermonitors angedockt wurde. Wenn die Taskleiste in dieser Weise angedockt wird, werden die Desktopkoordinaten (0,0) verdeckt. Ein Formular, dessen DesktopLocation-Eigenschaftauf (0, 0) festgelegt ist, wird immer in der linken oberen Ecke des primären Monitors angezeigt, nicht jedoch hinter der Taskleiste.
So legen Sie die DesktopLocation-Eigenschaft programmgesteuert fest
Legen Sie die DesktopLocation-Eigenschaft genauso wie jede andere Eigenschaft fest. Im folgenden Beispiel wird eine neue Position für das Formular "Accounts" festgelegt.
Dim frmAccounts as new Form() Set FrmAccounts.DesktopLocation = new Point(100,100)
Form frmAccounts= new Form(); frmAccounts.DesktopLocation = new Point(100,100);
Form frmAccounts = new Form(); frmAccounts.set_DesktopLocation(new Point(100, 100));
Form^ frmAccounts= gcnew Form(); frmAccounts->DesktopLocation = Point(100,100);
Tipp
Die DesktopLocation-Eigenschaft wird im Eigenschaftenfenster nicht angezeigt und kann nur im Code festgelegt werden.