如何在MDI父控件之上显示MDI子窗体

时间:2011-11-04 11:05:39

标签: winforms visual-studio-2008 c#-3.0 mdichild mdiparent

我有一个带有许多ChildForms的MDI-Parent表单,当我想在我的父表单上添加一个控件时,Child表单出现在控件下面,例如我想在MDIParent Form上添加一个groupbox和一个PictureBox,但是当我在这些控件下调用它出现的Child Form。

frmChildForm1.TopMost=true也不起作用。

我附上照片以获得更多描述。

我该怎么办?!

enter image description here

1 个答案:

答案 0 :(得分:2)

  

但我希望将图像作为背景

这是可能的,您可以设置MDI客户端控件的BackgroundImage属性。唯一的障碍是你无法直接获得对该控件的引用。你必须通过迭代表单的Controls集合来找回它。像这样:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        foreach (Control ctl in this.Controls) {
            if (ctl is MdiClient) {
                ctl.BackgroundImage = Properties.Resources.Lighthouse;
                break;
            }
        }
    }
}

Lighthouse 是我作为资源添加的示例图像。将其更改为使用您自己的。另一种常见技术是为该控件订阅Paint事件并绘制您想要的任何内容。渐变是一种常见的选择。