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.
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.
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.
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
.NET Desktop feedback