form.Show()中心窗口?

时间:2012-12-03 21:34:32

标签: c# forms

为什么不把这个窗体置于屏幕中心?

        Form2 mySettings = new Form2();
        mySettings.StartPosition = FormStartPosition.CenterParent;
        mySettings.Show();

我使用时可以使用:

mySettings.ShowDialog();

但问题是用户在同时打开Form2时无法访问主窗体。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是因为FormStartPosition.CenterParent将表格置于其父母的位置上。 Form.Show()在技术上没有父级。正如评论中已经建议的那样,使用FormStartPosition.CenterScreen可以提供所需的行为。

FormStartPosition.CenterParent主要在使用Form.ShowDialog(IWin32Window)重载时使用。

如果您需要以另一个表单的位置为中心,则需要使用当前表单的位置和大小自行计算新窗口坐标。然后使用FormStartPosition.Manual设置在新创建的表单中使用提供的位置和大小值。