4

我想创建一个模式弹出窗口。到目前为止,我已经制作了一个在需要时创建的窗口。但我认为这不是正确的做法。问题是,每次我调用它时,它都会向右打开大约 20px,比上一个低 20px。这很烦人。这是默认行为还是我在这里做错了什么?

Success win1 = new Success();
win1.ShowDialog();

另外,如果可能的话,我希望它居中吗?

4

2 回答 2

6

下面将您的对话框居中到所有者/父窗体。

Success win1 = new Success();
win1.Owner = this; // For example , see the parent window here
win1.WindowStartupLocation = WindowStartupLocation.CenterOwner;
win1.ShowDialog();

如果您想尝试,以下是替代方案。如果要将其居中显示在屏幕上,请使用“CenterScreen”

手动 - 窗口的启动位置由代码设置,或遵循默认的 Windows 位置。

CenterScreen - Window 的启动位置是包含鼠标光标的屏幕中心。

CenterOwner - Window 的启动位置是拥有它的 Window 的中心,由 Window.Owner 属性指定。

于 2011-05-29T23:43:55.943 回答
4

您要设置成功窗口的WindowStartupLocation成员。听起来 CenterOwner 是您想要的值。

于 2011-05-29T23:20:27.267 回答