Панель в MDI Родитель перекрывается ребенком при максимизации - PullRequest
1 голос
/ 16 января 2012

Я пишу приложение для Windows, используя VS2010 и C # 4.0.У меня есть форма MDI Parent, и мне нужно иметь «панель настроек» внизу.Я использовал форму без полей для этой цели.Но теперь, когда приложение работает, когда я максимизирую дочернюю форму, оно перекрывает панель настроек.Как я могу избежать этого?Моя панель настроек всегда должна быть видимой и никогда не перекрываться ничем другим.

1 Ответ

3 голосов
/ 16 января 2012

Не используйте Form для этого.Вы должны использовать простой Panel.Выполните следующие простые шаги:

  1. Установите IsMdiContainer вашей основной формы на false.
  2. Добавьте Panel к вашему основному Form и закрепите его внизу (или любой другой вариант, который вы предпочитаете: слева, справа и т. д.).Эта панель будет вашей панелью настроек.
  3. Установите для IsMdiContainer главной формы значение true.
  4. Добавьте все соответствующие элементы управления на панель настроек, которые всегда будут видны.

Шаги 3 и 4 можно выполнить в любом порядке.

Причина, по которой сначала установите IsMdiContainer на false, заключается в том, чтобы убедиться, что вы можете закрепить свой Panel внутри клиента.пространство Form, а не внутри клиентского пространства элемента управления MdiContainer (который автоматически добавляется дизайнером, когда вы устанавливаете IsMdiContainer в true с его стыковкой в ​​Fill).Если бы вы прикрепили его внутри MdiContainer, Panel был бы спрятан любым MdiChild, которого вы должны были открыть.Обратите внимание, что вы не можете напрямую взаимодействовать с элементом управления MdiContainer в конструкторе.

...