Я знаю, что это старый вопрос, но я столкнулся с этим на старом проекте, над которым я работаю, так что вот ответ для любого, кто видел это. Установка Dock в DockStyle.Fill даст вам поведение, которое вы хотите.
Просто имейте в виду, что окно будет выглядеть / выглядеть странно, если вы попытаетесь изменить положение окна или изменить его размер, когда у него есть этот DockStyle.
Для этого я подписался на событие resize окна MDI-клиента и, если окно было только что развернуто, я установил для его DockStyle значение Fill, для FormBorderStlye было установлено значение FixedDialog (для предотвращения изменения размера) и установлено состояние окна на нормальное для предотвращения максимизации.
Чтобы пользователь не мог перемещать окно, пока оно находится в этом «развернутом состоянии», я просто переопределил метод WndProc и обработал его, когда окно было перемещено (SC_MOVE), и поместил возврат, чтобы не дать действию вступить в силу.