«Восстановление» формы запускает событие Resize
, где вы можете проверить, не является ли родительская форма больше FormWindowState.Maximized
. Если нет, вы можете открыть дочернюю форму и скрыть родительскую.
Чтобы изменить это, вы можете «максимизировать» дочернюю форму, скрыв (или избавившись) ее, затем отменив скрытие и установив для родительской формы значение FormWindowState.Maximized
.
Единственная проблема, которую я вижу при использовании этого метода, заключается в том, что событие Resize
, скорее всего, сработает несколько раз, прежде чем форма достигнет максимального значения. Может потребоваться флаг, чтобы игнорировать их, пока форма не перейдет из текущего состояния в желаемое состояние, что может вызвать бесконечный цикл.