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