1

为什么这不会使表格居中到屏幕上?

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

它在我使用时有效:

mySettings.ShowDialog();

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

有任何想法吗?

4

1 回答 1

0

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

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

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

于 2012-12-03T23:03:56.943 回答