Udostępnij za pośrednictwem


Jak ustawić i określić rozmiar formularza

Po utworzeniu formularza rozmiar i lokalizacja są początkowo ustawione na wartość domyślną. Domyślny rozmiar formularza to zazwyczaj szerokość i wysokość 800 x 500 pikseli. Lokalizacja początkowa, gdy zostanie wyświetlony formularz, zależy od kilku różnych ustawień.

Rozmiar formularza można zmienić w czasie projektowania przy użyciu programu Visual Studio i w czasie wykonywania przy użyciu kodu.

Zmienianie rozmiaru za pomocą projektanta

Po dodaniu nowego formularza do projektu rozmiar formularza jest ustawiany na dwa różne sposoby. Najpierw można ustawić go z uchwytami rozmiaru w projektancie. Przeciągając prawą krawędź, dolną krawędź lub róg, możesz zmienić rozmiar formularza.

Kliknij prawym przyciskiem myszy Eksplorator rozwiązań, aby dodać nowy formularz do projektu formularzy systemu Windows z uchwytami

Drugi sposób zmiany rozmiaru formularza, gdy projektant jest otwarty, to okienko właściwości. Wybierz formularz, a następnie znajdź okienko Właściwości w programie Visual Studio. Przewiń w dół do rozmiaru i rozwiń go. Możesz ręcznie ustawić szerokość i wysokość .

Kliknij prawym przyciskiem myszy Eksplorator rozwiązań, aby dodać nowy formularz do projektu formularzy systemu Windows

Zmienianie rozmiaru w kodzie

Mimo że projektant ustawia rozmiar początkowy formularza, można zmienić jego rozmiar za pomocą kodu. Zmiana rozmiaru formularza przy użyciu kodu jest przydatna, gdy coś o aplikacji określa, że domyślny rozmiar formularza jest niewystarczający.

Aby zmienić rozmiar formularza, zmień Sizeelement , który reprezentuje szerokość i wysokość formularza.

Zmienianie rozmiaru bieżącego formularza

Rozmiar bieżącego formularza można zmienić tak długo, jak kod jest uruchamiany w kontekście formularza. Jeśli na przykład masz Form1 na nim przycisk, po kliknięciu Click wywołuje program obsługi zdarzeń w celu zmiany rozmiaru formularza:

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

Zmienianie rozmiaru innego formularza

Rozmiar innego formularza można zmienić po jego utworzeniu przy użyciu zmiennej odwołującej się do formularza. Załóżmy na przykład, że masz dwie formy Form1 (formularz startowy w tym przykładzie) i Form2. Form1 Ma przycisk, który po kliknięciu Click wywołuje zdarzenie. Procedura obsługi tego zdarzenia tworzy nowe wystąpienie Form2 formularza, ustawia rozmiar, a następnie wyświetla je:

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

Size Jeśli parametr nie został ustawiony ręcznie, domyślny rozmiar formularza jest ustawiony na wartość w czasie projektowania.

Pozycja z projektantem

Po utworzeniu i wyświetleniu wystąpienia formularza początkowa lokalizacja formularza jest określana przez StartPosition właściwość . Właściwość Location przechowuje bieżącą lokalizację formularza. Obie właściwości można ustawić za pomocą projektanta.

Okienko właściwości programu Visual Studio z wyróżnioną pozycją początkową

FormStartPosition, wyliczenie Opis
Centrumparent Formularz jest wyśrodkowany w granicach formularza nadrzędnego.
Ekran Środkowy Formularz jest wyśrodkowany na bieżącym wyświetlaczu.
Podręcznik Pozycja formularza jest określana przez właściwość Location .
WindowsDefaultBounds Formularz jest umieszczony w domyślnej lokalizacji systemu Windows i zmienia rozmiar na domyślny rozmiar określony przez system Windows.
DomyślnaLokalizacjaWindows Formularz jest umieszczony w domyślnej lokalizacji systemu Windows i nie jest zmieniany.

Wartość CenterParent działa tylko z formularzami, które są formularzem podrzędnym interfejsu wielu dokumentów (MDI) lub formularzem normalnym wyświetlanym za pomocą ShowDialog metody . CenterParent nie ma wpływu na normalny formularz, który jest wyświetlany z Show metodą . Aby wyśrodkować formularz (form zmienną) do innego formularza (parentForm zmiennej), użyj następującego kodu:

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()

Pozycja z kodem

Mimo że projektant może służyć do ustawiania lokalizacji początkowej formularza, można użyć kodu, aby zmienić tryb położenia początkowego lub ustawić lokalizację ręcznie. Używanie kodu do pozycjonowania formularza jest przydatne, jeśli musisz ręcznie ustawić i rozmiar formularza w odniesieniu do ekranu lub innych formularzy.

Przenoszenie bieżącego formularza

Możesz przenieść bieżący formularz, o ile kod jest uruchamiany w kontekście formularza. Jeśli na przykład masz Form1 na nim przycisk, po kliknięciu Click wywołania programu obsługi zdarzeń. Procedura obsługi w tym przykładzie zmienia lokalizację formularza w lewym górnym rogu ekranu, ustawiając Location właściwość :

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

Umieszczanie innego formularza

Lokalizację innego formularza można zmienić po jego utworzeniu przy użyciu zmiennej odwołującej się do formularza. Załóżmy na przykład, że masz dwie formy Form1 (formularz startowy w tym przykładzie) i Form2. Form1 Ma przycisk, który po kliknięciu Click wywołuje zdarzenie. Procedura obsługi tego zdarzenia tworzy nowe wystąpienie Form2 formularza i ustawia lokalizację:

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

Location Jeśli właściwość nie jest ustawiona, domyślna pozycja formularza jest oparta na tym, co StartPosition właściwość została ustawiona w czasie projektowania.

Zobacz także