我有一个开始最大化的表单应用程序,并且应该在其中心出现一个子表单以要求输入密码。但是,仅当父项的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();
}
}
答案 0 :(得分:1)
您可以在子窗体中获取父窗体,然后将父位置设置为子窗体,然后将其居中。
Location = parentForm.Location;
CenterToScreen();
您可以在构造函数中发送父表单。
new PasswordCheckForm(this);