Freigeben über


Wie man ein Formular positioniert und in der Größe anpasst

Wenn ein Formular erstellt wird, wird die Größe und der Speicherort zunächst auf einen Standardwert festgelegt. Die Standardgröße eines Formulars ist in der Regel eine Breite und Höhe von 800 x 500 Pixel. Der ursprüngliche Speicherort, wenn das Formular angezeigt wird, hängt von einigen verschiedenen Einstellungen ab.

Sie können die Größe eines Formulars zur Entwurfszeit mit Visual Studio und zur Laufzeit mit Code ändern.

Ändern der Größe mit dem Designer

Nachdem dem Projekt ein neues Formular hinzugefügt wurde , wird die Größe eines Formulars auf zwei verschiedene Arten festgelegt. Zunächst können Sie sie mit den Größengriffen im Designer festlegen. Durch Ziehen des rechten Rands, des unteren Rands oder der Ecke können Sie die Größe des Formulars ändern.

Klicken Sie mit der rechten Maustaste auf den Projektmappen-Explorer, um dem Windows Forms-Projekt neues Formular mit Griffen hinzuzufügen.

Die zweite Möglichkeit, die Größe des Formulars zu ändern, während der Designer geöffnet ist, befindet sich im Eigenschaftenbereich. Wählen Sie das Formular aus, und suchen Sie dann den Eigenschaftenbereich in Visual Studio. Scrollen Sie nach unten zu Größe und öffnen Sie es. Sie können die Breite und Höhe manuell festlegen.

Klicken Sie mit der rechten Maustaste auf den Projektmappen-Explorer, um dem Windows Forms-Projekt neues Formular hinzuzufügen.

Ändern der Größe im Code

Obwohl der Designer die Anfangsgröße eines Formulars festlegt, können Sie die Größe über Code ändern. Die Verwendung von Code zum Ändern der Größe eines Formulars ist nützlich, wenn etwas zu Ihrer Anwendung bestimmt, dass die Standardgröße des Formulars nicht ausreicht.

Wenn Sie die Größe eines Formulars ändern möchten, ändern Sie den SizeWert , der die Breite und Höhe des Formulars darstellt.

Ändern der Größe des aktuellen Formulars

Sie können die Größe des aktuellen Formulars ändern, solange der Code im Kontext des Formulars ausgeführt wird. Wenn Sie beispielsweise Form1 über eine Schaltfläche verfügen, die bei einem Klick den Click-Ereignishandler aufruft, um die Größe des Formulars zu ändern:

private void button1_Click(object sender, EventArgs e) =>
    Size = new Size(250, 200);
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Size = New Drawing.Size(250, 200)
End Sub

Größe eines anderen Formulars ändern

Sie können die Größe eines anderen Formulars ändern, nachdem es erstellt wurde, indem Sie die Variable verwenden, die auf das Formular verweist. Angenommen, Sie haben zwei Formulare ( Form1 das Startformular in diesem Beispiel) und Form2. Form1 verfügt über eine Schaltfläche, die beim Klicken auf das Click Ereignis aufgerufen wird. Der Handler dieses Ereignisses erstellt eine neue Instanz des Form2 Formulars, legt die Größe fest und zeigt es dann an:

private void button1_Click(object sender, EventArgs e)
{
    Form2 form = new Form2();
    form.Size = new Size(250, 200);
    form.Show();
}
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Dim form = New Form2 With {
        .Size = New Drawing.Size(250, 200)
    }
    form.Show()
End Sub

Wenn dies Size nicht manuell festgelegt ist, ist die Standardgröße des Formulars das, auf das es während der Entwurfszeit festgelegt wurde.

Position beim Designer

Wenn eine Formularinstanz erstellt und angezeigt wird, wird der anfängliche Speicherort des Formulars durch die StartPosition Eigenschaft bestimmt. Die Location Eigenschaft enthält den aktuellen Speicherort des Formulars. Beide Eigenschaften können über den Designer festgelegt werden.

Bereich

FormStartPosition Enum BESCHREIBUNG
CenterParent Das Formular wird innerhalb der Grenzen des übergeordneten Formulars zentriert.
Zentrierter Bildschirm Das Formular wird auf der aktuellen Anzeige zentriert.
Handbuch Die Position des Formulars wird durch die Location-Eigenschaft bestimmt.
WindowsDefaultBounds Das Formular wird an der Windows-Standardposition positioniert und wird in die von Windows festgelegte Standardgröße geändert.
WindowsDefaultLocation Das Formular wird an der Windows-Standardposition positioniert und die Größe wird nicht geändert.

Der CenterParent-Wert funktioniert nur mit Formularen, die entweder ein untergeordnetes MDI-Formular (Multiple Document Interface) oder ein normales Formular sind, das mit der ShowDialog Methode angezeigt wird. CenterParent hat keine Auswirkung auf ein normales Formular, das mit der Show Methode angezeigt wird. Um ein Formular (form Variable) auf ein anderes Formular (parentForm Variable) zu zentrieren, verwenden Sie den folgenden Code:

form.StartPosition = FormStartPosition.Manual;
form.Location = new Point(parentForm.Width / 2 - form.Width / 2 + parentForm.Location.X,
                          parentForm.Height / 2 - form.Height / 2 + parentForm.Location.Y);
form.Show();
form.StartPosition = Windows.Forms.FormStartPosition.CenterParent.Manual
form.Location = New Drawing.Point(parentForm.Width / 2 - form.Width / 2 + parentForm.Location.X,
                                  parentForm.Height / 2 - form.Height / 2 + parentForm.Location.Y)

form.Show()

Position mit Code

Obwohl der Designer zum Festlegen der Startposition eines Formulars verwendet werden kann, können Sie code verwenden, um entweder den Startpositionsmodus zu ändern oder die Position manuell festzulegen. Die Verwendung von Code zum Positionieren eines Formulars ist nützlich, wenn Sie ein Formular in Bezug auf den Bildschirm oder andere Formulare manuell positionieren und skalieren müssen.

Verschieben des aktuellen Formulars

Sie können das aktuelle Formular verschieben, solange der Code im Kontext des Formulars ausgeführt wird. Zum Beispiel, wenn Sie Form1 mit einer Schaltfläche darauf haben, wird bei einem Klick darauf der Click-Ereignishandler aufgerufen. Der Handler in diesem Beispiel ändert die Position des Formulars in der oberen linken Ecke des Bildschirms, indem die Location Eigenschaft festgelegt wird:

private void button1_Click(object sender, EventArgs e) =>
    Location = new Point(0, 0);
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Location = New Drawing.Point(0, 0)
End Sub

Positionieren eines anderen Formulars

Sie können den Speicherort eines anderen Formulars ändern, nachdem es erstellt wurde, indem Sie die Variable verwenden, die auf das Formular verweist. Angenommen, Sie haben zwei Formulare ( Form1 das Startformular in diesem Beispiel) und Form2. Form1 verfügt über eine Schaltfläche, die beim Klicken auf das Click Ereignis aufgerufen wird. Der Handler dieses Ereignisses erstellt eine neue Instanz des Form2 Formulars und legt den Speicherort fest:

private void button1_Click(object sender, EventArgs e)
{
    Form2 form = new Form2();
    form.Location = new Point(0, 0);
    form.Show();
}
Private Sub Button1_Click(sender As Object, e As EventArgs)
    Dim form = New Form2 With {
        .Location = New Drawing.Point(0, 0)
    }
    form.Show()
End Sub

Wenn der Location Wert nicht festgelegt ist, basiert die Standardposition des Formulars darauf, auf welche StartPosition Eigenschaft zur Entwurfszeit festgelegt wurde.

Siehe auch