Управление на родительском фоне MDI - PullRequest
0 голосов
/ 09 февраля 2009

Это хорошая идея, чтобы разместить элементы управления на фоне родительского окна MID? Я добавил разделенный контейнер в окно MDI, которое отображается, как и ожидалось, однако, когда я пытаюсь открыть любые другие формы в том же окне, они показывают ВНИЗ SplitContainer. Единственный способ получить их всплывающее окно, если я использую ShowDialog для их отображения. К сожалению, мне нужно иметь возможность открывать несколько окон одновременно, так что это не практичное решение.

Подошел ли я к этому неправильно?

1 Ответ

2 голосов
/ 09 февраля 2009

Нельзя добавить элементы управления, закрывающие окно клиента MDI (темно-серый фон). Клиенты MDI отображаются с окном клиента в качестве родителя, поэтому их Z-порядок будет ниже, чем у элемента управления.

WF поддерживает закрепленные элементы управления, он автоматически настраивает клиентскую область на оставшееся пространство в родительской форме. Но это все, SplitContainer не может работать.

Обратите внимание, что вы можете показывать формы на панелях SplitContainer. Установите для их свойства TopLevel значение False, чтобы они превратились в элементы управления. Например:

  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
      Form2 f2 = new Form2();
      f2.TopLevel = false;
      f2.FormBorderStyle = FormBorderStyle.None;
      f2.Visible = true;
      splitContainer1.Panel1.Controls.Add(f2);
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...