Допустим, у вас есть приложение Windows Forms, у которого есть главное окно с дочерним окном.
Если развернуть главное окно и дочернее окно, а затем свернуть главное окно, дочернее окно также автоматически свернется. Это правильно и ожидаемо.
Если вы затем восстановите главное окно (щелкнув по его значку на панели задач), главное окно будет правильно восстановлено как развернутое, но вторичное окно будет восстановлено как развернутое.
Есть ли способ это исправить? (Это похоже на ошибку WinForms, но, возможно, это из-за замысла ...)
ДЛЯ ВОСПРОИЗВЕДЕНИЯ (требуется два монитора):
- Создать новое приложение Windows Forms по умолчанию. Это создаст основную форму с именем
Form1
.
- Выберите
Project | Add Windows Form...
и нажмите Add
, чтобы добавить новую форму с именем Form2
.
Измените конструктор Form1
, чтобы он выглядел следующим образом:
public Form1()
{
InitializeComponent();
new Form2().Show(this); // New line of code.
}
Запустите приложение.
Переместите Form1 на один монитор и Form2 на другой монитор.
Разверните форму Form1 и Form2, щелкнув значок максимизации на их заголовках.
Сверните форму Form1, щелкнув значок сворачивания в строке заголовка. Обратите внимание, что Form2 также становится минимизированным.
Восстановите форму Form1, щелкнув ее значок на панели задач.
АКТУАЛЬНЫЙ РЕЗУЛЬТАТ:
Форма 1 восстанавливается до максимального состояния.
Form2 не восстанавливается до максимального состояния.
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ:
Обе формы возвращаются в максимизированное состояние.