Всякий раз, когда я минимизирую или максимизирую родительскую форму MDI, когда она имеет увеличенную дочернюю форму, высота родительского MDI уменьшается примерно на 20 пикселей.
Я начал с .Net Framework 4.0, и у меня возникла эта проблема, поэтому я попробовал другие версии и продолжал иметь проблемы.
Вот несколько шагов для репликации (на этот раз попробуйте 4.7.1):
- Закрыты все экземпляры VS2017 и открыты VS2017.
- Файл> Создать> Проект.
- Имя: MdiTest2; Рамочная 4.7.2; Хит ОК.
- Установите для Form1 "IsMdiContainer" значение True.
- Щелкните правой кнопкой мыши проект> Добавить> Форма Windows ... Вызывается этот ChildForm.vb.
- Вернулся в форму Form1, дважды щелкнув форму.
- Установить событие загрузки Form1 следующим образом:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim frm As New ChildForm
frm.MdiParent = Me
frm.WindowState = FormWindowState.Maximized
frm.Show()
End Sub
- Начата отладка
- Перетащите родительскую форму куда-нибудь так, чтобы вы заметили изменения высоты формы (выровняйте нижнюю часть формы с другой формой, значком или верхней частью панели задач).
- Разверните форму и нажмите кнопку восстановления ... Измените размеры формы
- Сверните форму, а затем щелкните значок для нее на панели задач ...
- Обратите внимание, что форма изменяется (для меня), верхняя часть формы остается в исходном местоположении, но нижняя граница перемещается вверх на ~ 20 пикселей.
- Если я продолжу нажимать значок приложения на панели задач, он будет уменьшаться при каждом восстановлении формы.
Кто-нибудь может повторить это или это просто ошибка на моей машине? Мое разрешение 2560x1440, а масштабирование установлено на 100%. Если я изменю AutoScaleMode в Form1 и ChildForm с «Font» (по умолчанию) на «None», у меня все еще будет эта проблема. Если у меня нет развернутой формы дочернего элемента MDI при свернутом / развернутом родительском элементе MDI, высота родительского элемента MDI при восстановлении не уменьшается.