Umístění a velikost formuláře (model Windows Forms .NET)
Při vytvoření formuláře se velikost a umístění zpočátku nastaví na výchozí hodnotu. Výchozí velikost formuláře je obecně šířka a výška 800 × 500 pixelů. Počáteční umístění při zobrazení formuláře závisí na několika různých nastaveních.
V sadě Visual Studio můžete změnit velikost formuláře v době návrhu a v době běhu pomocí kódu.
Důležité
Dokumentace k desktopové příručce pro .NET 7 a .NET 6 se právě připravuje.
Změna velikosti pomocí návrháře
Po přidání nového formuláře do projektu se velikost formuláře nastaví dvěma různými způsoby. Nejprve ji můžete nastavit s úchyty velikosti v návrháři. Přetažením pravého okraje, dolního okraje nebo rohu můžete změnit velikost formuláře.
Druhým způsobem, jak můžete změnit velikost formuláře při otevření návrháře, je podokno vlastností. Vyberte formulář a pak v sadě Visual Studio vyhledejte podokno Vlastnosti . Posuňte se dolů na velikost a rozbalte ji. Šířku a výšku můžete nastavit ručně.
Změna velikosti v kódu
I když návrhář nastaví počáteční velikost formuláře, můžete ji změnit pomocí kódu. Použití kódu ke změně velikosti formuláře je užitečné, když něco o vaší aplikaci zjistí, že výchozí velikost formuláře není dostatečná.
Chcete-li změnit velikost formuláře, změňte Sizehodnotu , která představuje šířku a výšku formuláře.
Změna velikosti aktuálního formuláře
Velikost aktuálního formuláře můžete změnit, pokud kód běží v kontextu formuláře. Pokud máte Form1
například tlačítko, které po kliknutí vyvolá obslužnou rutinu Click
události ke změně velikosti formuláře:
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
Změna velikosti jiného formuláře
Velikost jiného formuláře můžete po vytvoření změnit pomocí proměnné odkazující na formulář. Řekněme například, že máte dva formuláře ( Form1
spouštěcí formulář v tomto příkladu) a Form2
. Form1
má tlačítko, které po kliknutí vyvolá Click
událost. Obslužná rutina této události vytvoří novou instanci Form2
formuláře, nastaví velikost a zobrazí ji:
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
Pokud není nastavená ručně, výchozí velikost formuláře je nastavená během návrhu.
Umístění s návrhářem
Při vytvoření a zobrazení instance formuláře je počáteční umístění formuláře určeno StartPosition vlastností. Vlastnost Location obsahuje aktuální umístění formuláře. Obě vlastnosti lze nastavit prostřednictvím návrháře.
FormStartPosition – výčet | Popis |
---|---|
CenterParent | Formulář je zacentrován v mezích nadřazeného formuláře. |
CenterScreen | Formulář je na střed aktuálního zobrazení. |
Ručně | Pozice formuláře je určena vlastností Location . |
WindowsDefaultBounds | Formulář se umístí do výchozího umístění Windows a změní se na výchozí velikost určenou systémem Windows. |
WindowsDefaultLocation | Formulář se umístí do výchozího umístění Windows a velikost se nesměšní. |
Hodnota CenterParent funguje pouze s formuláři, které jsou buď podřízeným formulářem s více rozhraním dokumentu (MDI), nebo s normálním formulářem, který je zobrazen metodou ShowDialog . CenterParent
nemá žádný vliv na normální formulář, který je zobrazen s metodou Show . Chcete-li zacentrovat formulář (form
proměnnou) na jiný formulář (parentForm
proměnnou), použijte následující kód:
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()
Pozice s kódem
I když je možné použít návrháře k nastavení počátečního umístění formuláře, můžete použít kód buď změnit režim počáteční pozice, nebo nastavit umístění ručně. Použití kódu k umístění formuláře je užitečné, pokud potřebujete formulář ručně umístit a změnit jeho velikost ve vztahu k obrazovce nebo jiným formulářům.
Přesunutí aktuálního formuláře
Aktuální formulář můžete přesunout, dokud kód běží v kontextu formuláře. Pokud máte Form1
například tlačítko, které po kliknutí vyvolá obslužnou rutinu Click
události. Obslužná rutina v tomto příkladu změní umístění formuláře do levého horního rohu obrazovky nastavením Location vlastnosti:
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
Umístění jiného formuláře
Umístění jiného formuláře můžete po vytvoření změnit pomocí proměnné odkazující na formulář. Řekněme například, že máte dva formuláře ( Form1
spouštěcí formulář v tomto příkladu) a Form2
. Form1
má tlačítko, které po kliknutí vyvolá Click
událost. Obslužná rutina této události vytvoří novou instanci Form2
formuláře a nastaví umístění:
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
Pokud není nastavená, výchozí pozice formuláře je založena na tom, na čem StartPosition
byla vlastnost nastavena v době návrhu.
Viz také
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro