我有一个MDI表格的面板,面板中有一些控件。 当我打开MDIChild表单时,表单会在面板后面。 我尝试了forms.BringtoFront()和panel.SendtoBack()。但没有任何效果。 然后我将面板的setchildIndex设置为0,也没有用。
有没有办法让面板始终落后于所有表格?
由于
答案 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容器,将子代添加到其中,它将位于其他面板的顶部