1

MDI 形式の C# を使用して、Visual Studio 2010 で Windows フォーム アプリケーションを作成しています。子フォームを親 MDI フォームの対応するメニュー ストリップ コントロールに接続することは既にできましたが、これらの子 MDI フォームを親 MDI のサイズにドッキングし、別の子 MDI フォームが次を使用して開かれると自動的に閉じたいと考えています。別のメニュー ストリップ コントロール。

たとえば、Tile Model というメニュー ストリップ項目があり、クリックすると特定の子フォームが呼び出されます。Accounts という別のメニュー ストリップ項目をクリックすると、Tile Model メニュー項目によって呼び出された子フォームが自動的に閉じ、Accounts メニュー ストリップ項目によって呼び出された子フォームが開きます。

フォームの境界線スタイルを「なし」に設定したことに注意してください。

私が今持っているコードに何が起こるかというと、子 mdi フォームが開かれ、それがアクティブになっているときに別の子フォームが開かれると、これらの子フォームが重なり合って、乱雑に見えるということです。

ここに私のコードからの抜粋があります。

パブリック部分クラス Form1 : Form { public Form1() { InitializeComponent(); }

    private void manageTileModelToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ManageTileModel ChildForm = new ManageTileModel();
        ChildForm.MdiParent = this;
        ChildForm.Show();

    }

    private void startInspectionToolStripMenuItem_Click(object sender, EventArgs e)
    {
        StartInspection ChildForm = new StartInspection();
        ChildForm.MdiParent = this;
        ChildForm.Show();


    }

    private void manageTestReportsToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ManageTestReports ChildForm = new ManageTestReports();
        ChildForm.MdiParent = this;
        ChildForm.Show();
    }

    private void registerNewAccountToolStripMenuItem_Click(object sender, EventArgs e)
    {
        RegNewAccount ChildForm = new RegNewAccount();
        ChildForm.MdiParent = this;
        ChildForm.Show();
    }

    private void manageAccountsToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ManageAccounts ChildForm = new ManageAccounts();
        ChildForm.MdiParent = this;
        ChildForm.Show();
    }

    private void inspectionToolStripMenuItem1_Click(object sender, EventArgs e)
    {
        GenHelpInspection ChildForm = new GenHelpInspection();
        ChildForm.MdiParent = this;
        ChildForm.Show();
    }

    private void tileModelToolStripMenuItem1_Click(object sender, EventArgs e)
    {
        GenHelpTileModel ChildForm = new GenHelpTileModel();
        ChildForm.MdiParent = this;
        ChildForm.Show();
    }

    private void accountsToolStripMenuItem1_Click(object sender, EventArgs e)
    {
        GenHelpAccounts ChildForm = new GenHelpAccounts();
        ChildForm.MdiParent = this;
        ChildForm.Show();
    }

    private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
    {
        About ChildForm = new About();
        ChildForm.MdiParent = this;
        ChildForm.Show();
    }

応答は非常に役に立ち、本当に感謝します.:)ありがとう。

4

1 に答える 1