WPF窗体的初始位置WindowStartupLocation属性

本文介绍了如何通过设置Left和Top属性来确定窗口在桌面上的位置。同时,还提供了通过WindowStartupLocation属性来指定窗口首次出现时的位置选项,包括Manual、CenterScreen和CenterOwner。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当窗口打开时,窗口在相对于桌面的 x 和 y 维度有一个位置。 可以通过分别检查 Left 和 Top 属性来确定此位置。 可以设置这些属性以更改窗口的位置。

通过将 WindowStartupLocation 属性设置为下面的 WindowStartupLocation 枚举值之一,还可以指定 Window 第一次出现时的初始位置:

Manual(默认值)

CenterScreen

CenterOwner

如果将起始位置指定为 Manual,并且未设置 Left 和 Top 属性,则 Window 将向 Windows 请求显示的位置。

### WPF 中设置窗口显示位置的方法 在 Windows Presentation Foundation (WPF) 应用程序中,可以通过 `WindowStartupLocation` 属性来控制新打开的窗口初始显示的位置。此属性有三个可能的枚举值: #### 使用 CenterScreen 显示模式 当希望窗口在屏幕中央显示时,可以将 `WindowStartupLocation` 设置为 `CenterScreen`。 ```csharp TestWindow window = new TestWindow(); window.WindowStartupLocation = WindowStartupLocation.CenterScreen; window.Show(); ``` 该方法会自动计算并将窗口居中于整个屏幕上[^1]。 #### 使用 CenterOwner 显示模式 如果目标是在拥有者窗口内部中心展示子窗口,则应采用 `CenterOwner` 方式。这通常用于对话框场景下保持父子关系的同时让弹出的小窗位于其父级大窗之内。 ```csharp TestWindow window = new TestWindow(); window.Owner = this; // 假设当前实例是父窗口 window.WindowStartupLocation = WindowStartupLocation.CenterOwner; window.ShowDialog(); ``` 这种方式能够确保子窗口始终相对于特定的父窗口进行定位[^2]。 #### 手动指定确切坐标 对于需要精确控制窗口出现的具体坐标的场合,可以选择手动设定的方式。通过把 `WindowStartupLocation` 设定成 `Manual` 后再分别给 `Left` 和 `Top` 赋予具体数值即可实现自定义位置的效果。 ```csharp private void button1_Click(object sender, RoutedEventArgs e) { TestWindow window = new TestWindow(); window.WindowStartupLocation = WindowStartupLocation.Manual; window.Left = 0; window.Top = 0; window.ShowDialog(); } ``` 上述代码片段展示了如何创建一个新的测试窗口,并将其左上角放置到屏幕原点处(即 X=0,Y=0),之后调用了 ShowDialog 方法使其模态化呈现出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值