如何安置表單和調整其大小 (Windows Forms .NET)
建立表單時,大小和位置最初會設定為預設值。 表單的預設大小通常是 800x500 像素的寬度和高度。 顯示表單時的初始位置取決於幾個不同設定。
您可以使用 Visual Studio 以在設計時間變更表單大小,並且使用程式碼在執行階段變更表單大小。
使用設計工具設定調整大小
將新表單新增至專案之後,表單大小會以兩種不同方式設定。 首先,您可以使用設計工具的尺寸調整底框來設定。 藉由拖曳右邊緣、下邊緣或邊角,您可以調整表單大小。
當設計工具開啟時,您可以調整表單大小的第二種方式是透過 [屬性] 窗格。 選取表單,然後在 Visual Studio 中尋找 [屬性] 窗格。 向下捲動至 [大小] 並展開。 您可以手動設定 [寬度] 和 [高度]。
在程式碼中調整大小
即使設計工具設定表單的起始大小,您也可以透過程式碼加以調整。 當您的應用程式內容判斷表單預設大小不足時,使用程式碼調整表單大小的功能非常實用。
若要調整表單大小,請變更代表表單寬度和高度的 Size。
調整目前表單的大小
只要程式碼在表單內容中執行,您就可以變更目前表單的大小。 例如,如果您有 Form1
按鈕,則按下時會叫用 Click
事件處理程序來調整表單大小:
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
調整不同表單的大小
您可以使用參考表單的變數來變更另一個表單的大小。 例如,假設您有 Form1
(本範例中的啟動表單) 和 Form2
兩個表單。 當按一下 Form1
中其中一個按鈕,會叫用 Click
事件。 此事件的處理程序會建立 Form2
表單的新執行個體、設定大小,然後加以顯示:
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
,表單的預設大小就是依照設計階段的設定。
使用設計工具放置
建立和顯示表單執行個體時,表單的初始位置是由 StartPosition 屬性所決定。 Location 屬性會保留表單目前的位置。 這兩個屬性都可以透過設計工具來設定。
FormStartPosition Enum | 描述 |
---|---|
CenterParent | 表單會置中於其父表單的界限內。 |
CenterScreen | 表單會置中於目前的顯示上。 |
手動 | 表單的位置取決於 Location 屬性。 |
WindowsDefaultBounds | 表單位於 Windows 預設位置,而且會重設大小為 Windows 所判斷的預設大小。 |
WindowsDefaultLocation | 表單位於 Windows 預設位置,且不會重設大小。 |
CenterParent 值只適用於多個檔案介面 (MDI) 子表單,或是使用 ShowDialog 方法顯示的一般表單。
CenterParent
不會影響以 Show 方法顯示的一般表單。 若要將表單 (form
變數) 置中至另一個表單 (parentForm
變數),請使用下列程式碼:
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()
使用程式碼的位置
雖然設計工具可以用來設定表單的起始位置,但您可以使用程式碼來變更起始位置模式或手動設定位置。 如果您需要手動放置及調整與螢幕或其他表單相關的表單,使用程式碼來放置表單非常實用。
移動目前的表單
只要程式碼在表單內容中執行,您就可以移動目前的表單。 例如,如果您有 Form1
按鈕,則按下時會叫用 Click
事件處理程序。 此範例中的處理程序會藉由設定 Location 屬性,將表單的位置變更為螢幕左上方:
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
放置不同表單
您可以使用參考表單的變數來變更另一個表單的位置。 例如,假設您有 Form1
(本範例中的啟動表單) 和 Form2
兩個表單。 當按一下 Form1
中其中一個按鈕,會叫用 Click
事件。 此事件的處理程序會建立 Form2
表單的新執行個體,並設定位置:
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
,表單的預設位置會依照設計階段所設定的 StartPosition
屬性。