0

我无法让子表单在父表单中居中

我尝试将以下代码放入父表单的 Load() 事件中-

frmSplash frmS = new frmSplash();
frmS.MdiParent = this;
frmS.StartPosition = FormStartPosition.CenterParent;
frmS.Show();

我还尝试在 Visual Studio 中设置子窗体的属性,将 CentreParent 作为默认值。

但是,子表单总是出现在父表单的左上角,我不知道为什么。

有人对我可能做错的事情有任何线索或建议吗?

[编辑]

在发布了几个答案后,我也尝试了

private void frmMain_Load(object sender, EventArgs e)
{
    try
    {
        frmSplash frmS = new frmSplash();
        frmS.MdiParent = this;
        frmS.StartPosition = FormStartPosition.CenterScreen;
        frmS.Show();
    }
    catch (Exception eX)
    {
        throw new Exception("frmMain: Load()" + Environment.NewLine + eX.Message);
    }
}

但是 CentreScreen 也不起作用

4

2 回答 2

2

我认为CenterParent只适用于Parent不适用MDIParent

试试这个它有效

frmS.StartPosition = FormStartPosition.CenterScreen;
于 2013-10-15T14:45:25.413 回答
2

尝试改变这个:

frmS.StartPosition = FormStartPosition.CenterParent;

对此:

frmS.StartPosition = FormStartPosition.CenterScreen;
于 2013-10-15T14:43:16.150 回答