как показать форму MDIChild поверх элементов управления MDIPhild - PullRequest
1 голос
/ 04 ноября 2011

У меня есть форма MDI-Parent со многими дочерними формами, когда я хочу добавить элемент управления в мою родительскую форму, дочерняя форма появляется под элементом управления. Например, я хочу добавить групповую коробку и PictureBox в форму MDIParent, но когдаЯ называю дочернюю форму, она появляется под этими элементами управления.

frmChildForm1.TopMost=true тоже не работает.

Я приложил фотографию для подробного описания.

Что я могу сделать?!

enter image description here

1 Ответ

2 голосов
/ 04 ноября 2011

но я хочу иметь изображение в качестве фона

Это возможно, вы можете установить свойство BackgroundImage клиентского элемента управления MDI. Единственным препятствием является то, что вы не можете напрямую получить ссылку на этот элемент управления. Вы должны найти его обратно, повторяя коллекцию 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;
            }
        }
    }
}

Где Маяк - образец изображения, которое я добавил в качестве ресурса. Измените его на свой собственный. Другой распространенный прием - подписать событие Paint для этого элемента управления и рисовать все, что вы хотите. Градиент является распространенным выбором.

...