Форма MDIchild идет за панелью - PullRequest
2 голосов
/ 13 марта 2011

У меня есть панель в форме MDI, и на панели есть некоторые элементы управления. Когда я открываю формы MDIChild, формы идут за панелью. Я попытался формы. Принесите Фронт () и панель. Отправьте обратно (). Но ничего не работает. Затем я установил setchildIndex панели в 0, тоже не сработало.

Есть ли способ сохранить панель всегда позади всех форм?

Спасибо

Ответы [ 5 ]

2 голосов
/ 22 июня 2013

Создайте новую пустую форму, а затем установите следующее свойство этой формы в событии Form_load

private void bg_Load(object sender, EventArgs e)
{
    this.ControlBox = false;
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
}

затем, после, напишите следующий код в событие загрузки формы MDI

private void Main_Load(object sender, EventArgs e)
{
    bg bg = new bg(); // create object of empty form my empty form name is "bg"
    bg.MdiParent = this;
    bg.Show();
}

все, что вы хотите в фоновом режиме, добавить в пустую форму ....

2 голосов
/ 13 марта 2011

Проблема в том, что контейнер для дочерних элементов MDI является родным элементом панели. Панель находится либо над этим контейнером, либо за ним.

Вы хотите, чтобы панель находилась в том же контейнере, что и дочерние элементы MDI, но я не верю, что это возможно. Контейнер MDI содержит дочерние элементы MDI и ничего больше.

Короче говоря, я не думаю, что MDI даст вам то, что вам нужно.

0 голосов
/ 06 июля 2018

Поместите контейнер для потоковой передачи, добавьте к нему дочерний элемент, и он будет наверху другой панели

0 голосов
/ 10 июня 2011

Я только что добавил метод BringToFront после метода Show.

у меня отлично работает.

0 голосов
/ 14 марта 2011

Не могли бы вы поместить панель в дочернее окно MDI и зафиксировать ее положение и размер в родительском MDI?Затем просто сделайте так, чтобы только один тип дочернего окна MDI, который содержит вашу панель, мог быть открыт одновременно в пределах вашего родителя MDI.

...