vb.net子窗体落在父窗体内面板控件后面
我有点麻烦了。我有一个MDI.Parent窗体,里面有一些蓝色的面板。当我打电话给我的孩子表格时,孩子表格落在蓝色面板后面。我没有想到这一点,因为面板已经在运行时存在,而子窗体被称为后者(我虽然新的项目总是在最上面)。vb.net子窗体落在父窗体内面板控件后面
我该如何解决这个问题...我使用Vb.net为此
没有什么可以解决的。这是它的工作方式。
当您将IsMdiContainer
表单的IsMdiContainer
属性设置为True
时,实际发生的是MdiClient
控件被添加到表单中以充当子表单的主机。你看到的灰色背景实际上是控制,而不是形式。当您向父项添加MDI子窗体时,将成为该MdiClient
的子控件。
如果您要添加GroupBox
到您的形式,把一个Panel
了它,然后添加一个Button
到GroupBox
,你会期望Button
到过Panel
可见?我希望不会,因为它不会。这也不例外。
子窗体基本上是MdiClient
控件的一部分,所以覆盖子窗体的任何东西都可以。如果你试图做别的事,那么你滥用MDI。您可以添加并将它们停靠在父窗体的边缘,但不应该有浮动控件。
用一点jiggery-pokery可以显示一个Image
作为背景或绘制渐变等,但MdiClient
并非设计用于托管表单以外的其他控件,因此您无法将控件添加到它。
Jmcilhinney有道理。我试过的另一件事是创建一个载入蓝色面板的子窗体,然后像以前一样加载“钢笔样式”窗体。虽然这种剂量的工作,我需要新的儿童形式最大化,但这导致我的“笔式”儿童也成为最大化的争议设置其最小和最大尺寸相等到260; 300 ....? –
MDI是旧的...通过'Me.Controls.Add(yourForm)'直接添加子窗体作为控件。 –
您必须将面板停靠在父项的边缘。 –