【发布时间】:2011-09-20 00:22:19
【问题描述】:
我希望我的表单启动并在相对于我的表单被调用时处于活动状态的窗口的中心打开。假设 Firefox 处于活动状态并且我显示表单,我希望我的表单显示在 Firefox 窗口的“中心”。
我认为实现这一点的一种方法是使用 user32.dll 中的 SetWindowPos,但我是 不太确定是否有更简单的方法。
我已经玩过 SetWindowPos,发现我可以轻松地将我的窗口居中在整个屏幕上,但我不太确定我应该从哪里开始将其相对于另一个窗口居中。
基本上,我需要:
- 抓取窗口位置/大小
- 做数学计算,找到中心坐标减去我要准备的表格大小
- 显示我的表单并使用设置窗口位置来正确定位它?
注意:CenterParent 不适用于这个,它似乎只适用于另一个 Form 控件。我想将它与其他窗口一起使用,例如 Firefox。
【问题讨论】: