创建窗体时,窗体的大小和位置被初始设定为默认值。 窗体的默认大小通常是宽度和高度 为 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 枚举 | DESCRIPTION |
---|---|
CenterParent | 窗体被调整为在其父窗体的边界内居中。 |
CenterScreen | 表单在当前显示器上居中。 |
手动 | 窗体的位置由 Location 属性确定。 |
Windows默认界限 | 窗体位于 Windows 默认位置,大小调整为由 Windows 确定的默认大小。 |
Windows 默认位置 | 窗体位于 Windows 默认位置,不会调整大小。 |
CenterParent 值仅适用于作为多文档界面(MDI)子窗体的窗体,或使用ShowDialog方法显示的普通窗体。 使用 Show 方法显示的普通表单对 CenterParent
没有影响。 若要将窗体(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
属性的设置。