Delen via


Een formulier positioneren en de grootte ervan wijzigen (Windows Forms .NET)

Wanneer een formulier wordt gemaakt, wordt de grootte en locatie in eerste instantie ingesteld op een standaardwaarde. De standaardgrootte van een formulier is over het algemeen een breedte en hoogte van 800x500 pixels. De eerste locatie, wanneer het formulier wordt weergegeven, is afhankelijk van een paar verschillende instellingen.

U kunt de grootte van een formulier op ontwerptijd wijzigen met Visual Studio en tijdens runtime met code.

Formaat wijzigen met de ontwerpfunctie

Nadat een nieuw formulier aan het project hebt toegevoegd, wordt de grootte van een formulier op twee verschillende manieren ingesteld. Eerst kunt u het instellen met de formaatgrepen in de ontwerpfunctie. Door de rechterrand, de onderrand of de hoek te slepen, kunt u het formaat van het formulier wijzigen.

Klik met de rechtermuisknop op de

De tweede manier waarop u het formaat van het formulier kunt wijzigen terwijl de ontwerpfunctie is geopend, is via het deelvenster Eigenschappen. Selecteer het formulier en zoek vervolgens het venster Eigenschappen in Visual Studio. Scroll naar beneden naar maat en vouw deze uit. U kunt de Width en Height handmatig instellen.

klik met de rechtermuisknop op Solution Explorer om een nieuw formulier toe te voegen aan het Windows Forms-project

Formaat wijzigen in code

Hoewel de ontwerpfunctie de begingrootte van een formulier instelt, kunt u het formaat ervan wijzigen via code. Het gebruik van code om het formaat van een formulier te wijzigen is handig wanneer iets over uw toepassing bepaalt dat de standaardgrootte van het formulier onvoldoende is.

Als u het formaat van een formulier wilt wijzigen, wijzigt u de Size, die de breedte en hoogte van het formulier aangeeft.

Het formaat van het huidige formulier wijzigen

U kunt de grootte van het huidige formulier wijzigen zolang de code wordt uitgevoerd binnen de context van het formulier. Stel dat u Form1 heeft met een knop erop, die wanneer erop geklikt de Click gebeurtenis-handler aanroept om het formaat van het formulier te wijzigen.

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

Het formaat van een ander formulier wijzigen

U kunt de grootte van een ander formulier wijzigen nadat het is gemaakt met behulp van de variabele die naar het formulier verwijst. Stel dat u twee formulieren hebt, Form1 (het opstartformulier in dit voorbeeld) en Form2. Form1 heeft een knop waarop de Click gebeurtenis wordt aangeroepen wanneer erop wordt geklikt. De handler van deze gebeurtenis maakt een nieuw exemplaar van het formulier Form2, stelt de grootte in en geeft deze vervolgens weer:

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

Als de Size niet handmatig is ingesteld, heeft het formulier de standaardgrootte die het had tijdens het ontwerpen.

Positie met de ontwerper

Wanneer een formulierexemplaar wordt gemaakt en weergegeven, wordt de oorspronkelijke locatie van het formulier bepaald door de eigenschap StartPosition. De eigenschap Location bevat de huidige locatie van het formulier. Beide eigenschappen kunnen worden ingesteld via de ontwerpfunctie.

Visual Studio Eigenschappen-deelvenster met startpositie gemarkeerd

FormStartPosition Enum Beschrijving
CenterParent Het formulier wordt gecentreerd binnen de grenzen van het bovenliggende formulier.
CenterScreen Het formulier is gecentreerd op de huidige weergave.
Handmatig De positie van het formulier wordt bepaald door de eigenschap Locatie.
Standaardgrenzen van Windows Het formulier wordt op de standaardlocatie van Windows geplaatst en wordt aangepast aan de standaardgrootte die wordt bepaald door Windows.
Standaardlocatie van Windows Het formulier wordt op de standaardlocatie van Windows geplaatst en wordt niet van formaat gewijzigd.

De CenterParent waarde werkt alleen met formulieren die ofwel een onderliggend formulier zijn in een MDI (Multiple Document Interface), of een normaal formulier dat met de ShowDialog-methode wordt weergegeven. CenterParent heeft geen invloed op een normaal formulier dat wordt weergegeven met de methode Show. Gebruik de volgende code om een formulier (form variabele) te centreren naar een ander formulier (parentForm variabele):

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

Positie met code

Hoewel de ontwerper kan worden gebruikt om de beginlocatie van een formulier in te stellen, kunt u code gebruiken om de beginpositiemodus te wijzigen of de locatie handmatig in te stellen. Het gebruik van code om een formulier te positioneren is handig als u een formulier handmatig wilt positioneren en de grootte ervan wilt aanpassen ten opzichte van het scherm of andere formulieren.

Het huidige formulier verplaatsen

U kunt het huidige formulier verplaatsen zolang de code wordt uitgevoerd binnen de context van het formulier. Als u bijvoorbeeld Form1 met een knop erop hebt, roept deze bij het klikken de Click-gebeurtenis-handler aan. De handler in dit voorbeeld wijzigt de locatie van het formulier in de linkerbovenhoek van het scherm door de eigenschap Location in te stellen:

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

Een ander formulier plaatsen

U kunt de locatie van een ander formulier wijzigen nadat het is gemaakt met behulp van de variabele die naar het formulier verwijst. Stel dat u twee formulieren hebt, Form1 (het opstartformulier in dit voorbeeld) en Form2. Form1 heeft een knop waarop de Click gebeurtenis wordt aangeroepen wanneer erop wordt geklikt. De handler van deze gebeurtenis maakt een nieuw exemplaar van het Form2 formulier en stelt de locatie in:

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

Als de Location niet is ingesteld, is de standaardpositie van het formulier gebaseerd op waarop de eigenschap StartPosition tijdens het ontwerp is ingesteld.

Zie ook