Figure 2. Manage Form State.
State management in an MDI form requires careful orchestration between the MDI parent form and the active MDI child. The child has no clue who might be listening (it might have been opened outside an MDI environment), so it raises an event when the state might have changed. MDIParent responds by querying the child form about which actions are currently legal.