Дубликат ControlBox - PullRequest
       38

Дубликат ControlBox

1 голос
/ 11 января 2011

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

Вот что я наблюдаю, и я не знаю, как это происходит или какисправить это.

  1. Граница формы MDIchild показана над полосой меню формы MDIparent.
  2. Форма MDIchild имеет два значка в левом верхнем углу.
  3. Форма MDIchild имеет два элемента управления в правом верхнем углу.

alt text

Есть идеи, почему это будет?

Я был бы очень рад, если бы граница окна MDIChild (включая значки и блоки управления) была полностью удалена.

Спасибо, SH

Ответы [ 2 ]

0 голосов
/ 08 февраля 2011

Я обнаружил:

Вызовите Show () в форме MDI перед установкой свойства WindowState в дочерней форме, чтобы избавиться от нескольких блоков управления.

Не устанавливайте WindowState в значениеРазвернуто в конструкторе - делайте это в коде после того, как вы показали родительский элемент.

0 голосов
/ 27 января 2011

Я создал дочернюю форму, но показал ее в обычном состоянии вместо развернутого. Это похоже на показ родительской формы в том же процессе, что и максимизированная дочерняя форма вызвала форму, созданную не по порядку. Мой код выглядел примерно так ...

frmChild.WindowState = FormWindowState.Normal
frmParent.Show()  'frmChild.Show called within form_load of parent
frmChild.WindowState = FormWindowState.Maximized

И да, я установил для FormBorderStyle дочернего окна значение Нет, но, как я уже сказал, мне не нужно приложение MDI.

Я думаю, это ошибка в Visual Studio. Для многих людей, которые испытывают трудности с этим, это не может быть правильным.

...