带来mdi孩子面前的mdi父对象

时间:2017-06-25 13:06:44

标签: c# winforms mdi

我正在使用visual studio 2012中的一个Windows应用程序表单,我在这里停留在UI设计部分。实际上,我试图在所有控件对象(面板,表格布局面板)前面打开子窗体。 This the parent form

When I open a child form all the objects of parent form go back

以下是我的mdi父表单中的代码

    frmControlAccount x;
    private void controlToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (x == null || x.IsDisposed)//to avoid multiple opening of forms
        {
            x = new frmControlAccount();
            x.MdiParent = this;
            x.Show();
        }
        else
        {
            x.Focus();
            x.BringToFront();
        }
    }

由于表格没有显示我也试过这段代码

    private void MainPage_MdiChildActivate(object sender, EventArgs e)
    {
        if (ActiveMdiChild != null)
        {
            panel1.SendToBack();
            picHomepage.SendToBack();               
        }
        else
        {
            panel1.BringToFront();
            picHomepage.BringToFront();
        }
    }

1 个答案:

答案 0 :(得分:0)

您不能将控件放在MDI Parent表单上,因为这会使MDI Parent的客户区域变小,MDI Child表单只能在MDI Parent的Client Area中显示。

例如,将一个Panel放在您的MDI Parent(没有别的)上,然后将其停靠在200的旁边 您将看到您的MDI子窗体将可见,但您无法通过此面板移动它们。 这就是MDI的工作原理。

如果要在MDI Parent上显示图像,可以在paint事件中自己绘制图像。