Каждый раз, когда я минимизирую или максимизирую родительскую форму MDI, в то время как у нее развернута дочерняя форма, высота родительской формы MDI уменьшается примерно на 20 пикселей.
Я начал с .Net Framework 4.0, и у меня возникла эта проблема, поэтому я пробовал другие версии, но проблема не исчезла.
Вот несколько шагов для репликации (на этот раз попробуем 4.7.1):
- Закройте все экземпляры VS2017 и откройте VS2017.
- Файл> Создать> Проект.
- Имя: MdiTest2; Framework 4.7.2; Нажмите ОК.
- Установите для Form1 «IsMdiContainer» значение True.
- Щелкните правой кнопкой мыши проект> Добавить> Windows Form ... Называется этот 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 не уменьшается при восстановлении.