Форма MDIchild идет за панелью
У меня есть панель в форме MDI, и на панели есть некоторые элементы управления. Когда я открываю формы MDIChild, формы идут за панелью. Я попытался формы. Принесите Фронт () и панель. Отправьте обратно (). Но ничего не работает. Затем я установил setchildIndex панели на 0, тоже не сработало.
Есть ли способ сохранить панель всегда позади всех форм?
Спасибо
5 ответов
Проблема в том, что контейнер для дочерних элементов MDI является родным элементом панели. Панель находится либо над этим контейнером, либо за ним.
Вы хотите, чтобы панель находилась в том же контейнере, что и дочерние элементы MDI, но я не верю, что это возможно. Контейнер MDI содержит дочерние элементы MDI и ничего больше.
Короче говоря, я не думаю, что MDI даст вам то, что вам нужно.
Создайте новую пустую форму, а затем установите следующее свойство этой формы в событии 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();
}
все, что вы хотите в фоновом режиме, добавить в пустой форме....
Я просто добавил BringToFront
метод после Show
метод.
отлично работает для меня
Поместите контейнер для потоковой передачи, добавьте к нему дочерний элемент, и он будет располагаться поверх другой панели.
Не могли бы вы поместить панель в дочернее окно MDI и зафиксировать ее положение и размер в родительском окне MDI? Затем просто сделайте так, чтобы только один тип дочернего окна MDI, который содержит вашу панель, мог быть открыт одновременно в пределах вашего родителя MDI.