vb.net子窗体落在父窗体内的面板控件之后

时间:2017-10-28 08:02:21

标签: vb.net panel mdichild mdiparent

我有点烦。我有一个MDI.Parent形式在其中一些蓝色pannels。当我打电话给我的孩子表格时,儿童表格落在蓝色面板后面。我没想到这一点,因为面板已经在运行时存在,而子窗体被称为后者(我虽然新项目总是在最上面)。

我如何解决此问题?我正在使用Vb.net进行此操作

1 个答案:

答案 0 :(得分:2)

没有什么可以解决的。这就是它的工作方式。

当您将表单的IsMdiContainer属性设置为True时,实际发生的是MdiClient控件被添加到您的表单中以充当子表单的主机。您看到的灰色背景实际上是控件,而不是表单。将MDI子表单添加到父表单时,将成为该MdiClient的子控件。

如果您要在表单中添加GroupBox并在其上添加Panel,然后将Button添加到GroupBox,您是否期望Button 1}}在Panel上可见?我希望不会,因为它不会。这没什么不同。

子表单基本上是MdiClient控件的一部分,因此覆盖该表单的任何内容也涵盖了子表单。如果你试图不这样做,那么你就是在滥用MDI。您可以添加Panels并将它们停靠在父窗体的边缘,但您不应该使用浮动控件。

通过一些jiggery-pokery,您可以将Image显示为背景或绘制渐变等,但MdiClient并非设计用于托管除表单以外的控件,因此您不能添加控件。