0

子フォームを親フォームの中央に配置するのに問題があります

親フォームの Load() イベントに次のコードを入れてみました -

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

また、CentreParent をデフォルト値として Visual Studio で子フォームのプロパティを設定しようとしました。

ただし、子フォームは常に親フォームの左上隅に表示され、その理由はわかりません。

私が間違っている可能性があることについて、誰にも手がかりや提案がありますか?

[編集]

いくつかの回答が投稿された後、私も試しました

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

これを変更してみてください:

frmS.StartPosition = FormStartPosition.CenterParent;

これに:

frmS.StartPosition = FormStartPosition.CenterScreen;
于 2013-10-15T14:43:16.150 に答える
2

ではなく でCenterParentのみ機能すると思います。ParentMDIParent

これを試してみてください

frmS.StartPosition = FormStartPosition.CenterScreen;
于 2013-10-15T14:45:25.413 に答える