通过在 Location 属性中输入值,可指定窗体在计算机屏幕上的显示位置。它以像素为单位指定窗体左上角的位置。还需要设置 StartPosition 属性,以指示显示区域的边界。
注意 请记住,屏幕大小及分辨率经常因用户系统的不同而变化。另外,连有多个监视器的系统在识别显示区域的边界时可能会有问题。不论 Location 属性的设置是什么,这两种情况经常引起窗体的位置不可预知地出现变化。
因此,Windows 应用程序的 StartPosition 属性的默认设置是“WindowsDefaultLocation”,该设置通知操作系统在启动时根据当前硬件计算该窗体的最佳位置。另一种选择是将 StartPosition 属性设置为 Center,然后在代码中更改窗体的位置。有关更多信息,请参见下面的“以编程方式定位窗体”。
使用“属性”窗口定位窗体
- 在“属性”窗口中,从下拉菜单选择窗体。将窗体的 StartPosition 属性设置为 Manual。
- 为 Location 属性键入值(以逗号分隔)来定位该窗体,其中第一个数字 (X) 是到显示区域左边界的距离,第二个数字 (Y) 是到显示区域上边界的距离。
注意 展开 Location 属性,分别输入 X 和 Y 子属性值。
以编程方式定位窗体
- 在运行时通过将窗体的 Location 属性设置为 Point 来定义窗体的位置,如下列示例所示:
" Visual Basic Form1.Location = New Point(100, 100) // C# Form1.Location = new Point(100, 100); // C++ Form1->Location = Point(100, 100);
- 或 -
- 使用 Left 子属性(用于 X 坐标)和 Top 子属性(用于 Y 坐标)更改窗体位置的 X 坐标和 Y 坐标。下列示例将窗体的 X 坐标调整为 300 个像素点:
" Visual Basic Form1.Left = 300 // C# Form1.Left = 300; // C++ Form1->Left = 300;
以编程方式按增量更改窗体位置
- 使用 Left 子属性增加窗体的 X 坐标。下列示例以 200 个像素的增量调整窗体的 X 坐标:
" Visual Basic Form1.Left += 200 // C# Form1.Left += 200; // C++ Form1->Left += 200;
提示 使用 Location 属性同时设置 Windows 窗体的 X 和 Y 位置。若要分别设置它们,可使用窗体的 Left (X) 或 Top (Y) 子属性。不要试图隐式设置表示窗体位置的 Point 结构的 X 和 Y 坐标,因为该结构包含窗体坐标的“副本”。
可使用 DesktopLocation 属性来代替 Location 属性设置窗体的位置。此属性设置窗体相对于任务栏的位置,如果任务栏已停靠到用户监视器的顶部或左侧,则此属性很有用。以此方式停靠任务栏将遮盖桌面坐标 (0,0)。将 DesktopLocation 属性设置为 (0, 0) 的窗体始终出现在主监视器的左上角,但不在任务栏的后面。
以编程方式设置“桌面位置”属性
- 与设置任何其他属性一样设置 DesktopLocation 属性。下列示例为 Accounts 窗体建立新位置。
" Visual Basic Dim frmAccounts as new Form() Set FrmAccounts.DesktopLocation = new Point(100,100) // C# Form frmAccounts= new Form(); frmAccounts.DesktopLocation = new Point(100,100); // C++ Form * frmAccounts= new Form(); frmAccounts->DesktopLocation = Point(100,100);
注意 DesktopLocation 属性不在“属性”窗口中出现,它只能在代码中设置。

