MDIchild表格落后于专家组

时间:2011-03-13 19:44:36

标签: c# winforms panel mdichild mdiparent

我有一个MDI表格的面板,面板中有一些控件。 当我打开MDIChild表单时,表单会在面板后面。 我尝试了forms.BringtoFront()和panel.SendtoBack()。但没有任何效果。 然后我将面板的setchildIndex设置为0,也没有用。

有没有办法让面板始终落后于所有表格?

由于

5 个答案:

答案 0 :(得分:2)

问题是MDI孩子的容器是面板的兄弟。面板位于该容器的顶部或其后面。

您希望面板与MDI子容器位于同一容器中,但我不相信这是可能的。 MDI容器中没有MDI子项。

简而言之,我认为MDI并不能满足您的需求。

答案 1 :(得分:2)

创建一个新的空表单,然后在Form_load事件

中设置此表单的以下属性
private void bg_Load(object sender, EventArgs e)
{
    this.ControlBox = false;
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
}

然后,在MDI表单加载事件

中编写以下代码
private void Main_Load(object sender, EventArgs e)
{
    bg bg = new bg(); // create object of empty form my empty form name is "bg"
    bg.MdiParent = this;
    bg.Show();
}

在背景中你想要的任何东西,加入空格....

答案 2 :(得分:0)

您可以将面板放入MDI子窗口并在MDI父级中修复其位置和大小吗?然后只需将其设置为只允许在MDI父级中一次打开包含面板的一种MDI子窗口。

答案 3 :(得分:0)

我刚刚在BringToFront方法之后添加了Show方法。

对我来说很好。

答案 4 :(得分:0)

放置一个flowlayout容器,将子代添加到其中,它将位于其他面板的顶部