1

我有一个包含许多子窗体的 MDI 父窗体,当我想在父窗体上添加控件时,子窗体出现在控件下,例如我想在 MDIParent 窗体上添加一个组框和一个图片框,但是当我调用Child Form 它出现在这些控件下。

frmChildForm1.TopMost=true 也不起作用。

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

我能做些什么?!

在此处输入图像描述

4

1 回答 1

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 事件并绘制您想要的任何内容。渐变是一种常见的选择。

于 2011-11-04T11:51:23.743 回答