无法将孩子表格集中到最大化的父母

时间:2018-10-02 13:10:30

标签: c# winforms position

我有一个开始最大化的表单应用程序,并且应该在其中心出现一个子表单以要求输入密码。但是,仅当父项的WindowState属性设置为Normal时,此方法才有效。当我在两个显示器的系统上将其设置为Maximized时,父表单出现在一个屏幕上,子表单出现在第二个屏幕的中央。有谁知道如何使其正常工作,以使子窗体在最大化的父窗体上居中显示?

public partial class MyUI : Form
{
    PasswordCheckForm PasswordCheck = null;

    public FactoryTestToolUI()
    {
        InitializeComponent();

        PasswordCheck = new PasswordCheckForm();
        PasswordCheck.StartPosition = FormStartPosition.CenterParent;
        PasswordCheck.Show(this);
    }
}

public partial class PasswordCheckForm : Form
{
    public PasswordCheckForm()
    {
        InitializeComponent();

        this.CenterToParent();
    }
}

1 个答案:

答案 0 :(得分:1)

您可以在子窗体中获取父窗体,然后将父位置设置为子窗体,然后将其居中。

Location = parentForm.Location;
CenterToScreen();

您可以在构造函数中发送父表单。

new PasswordCheckForm(this);