我有点烦。我有一个MDI.Parent形式在其中一些蓝色pannels。当我打电话给我的孩子表格时,儿童表格落在蓝色面板后面。我没想到这一点,因为面板已经在运行时存在,而子窗体被称为后者(我虽然新项目总是在最上面)。
我如何解决此问题?我正在使用Vb.net进行此操作
答案 0 :(得分:2)
没有什么可以解决的。这就是它的工作方式。
当您将表单的IsMdiContainer
属性设置为True
时,实际发生的是MdiClient
控件被添加到您的表单中以充当子表单的主机。您看到的灰色背景实际上是控件,而不是表单。将MDI子表单添加到父表单时,将成为该MdiClient
的子控件。
如果您要在表单中添加GroupBox
并在其上添加Panel
,然后将Button
添加到GroupBox
,您是否期望Button
1}}在Panel
上可见?我希望不会,因为它不会。这没什么不同。
子表单基本上是MdiClient
控件的一部分,因此覆盖该表单的任何内容也涵盖了子表单。如果你试图不这样做,那么你就是在滥用MDI。您可以添加Panels
并将它们停靠在父窗体的边缘,但您不应该使用浮动控件。
通过一些jiggery-pokery,您可以将Image
显示为背景或绘制渐变等,但MdiClient
并非设计用于托管除表单以外的控件,因此您不能添加控件。