title: Form.Owner - Owned forms not closing/hiding recursively
body: <p><a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.form.owner.aspx" rel="nofollow">MSDN documentation</a> states: </p>
  
  <blockquote>
    <p>When a form is owned by another form, it is closed or hidden with the
    owner form. For example, consider a form named <code>Form2</code> that is owned by
    a form named <code>Form1</code>. If <code>Form1</code> is closed or minimized, <code>Form2</code> is also
    closed or hidden.</p>
  </blockquote>
  
  <p>Apparently the hiding isn't working recursively? When I have a stack of 4 forms who are parented to each other (<code>GrandChildForm.Owner = Child; ChildForm.Owner = ParentForm;</code> etc.), minimizing any one of them only minimizes it's direct child too.</p>
  
  <p>Similar effect when closing one of these forms, only the FormClosing/Closed events of the direct child are raised, but not for the other accestors. <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.formclosingeventargs.aspx" rel="nofollow">Again the docs</a> don't state that this doesn't work recursively:</p>
  
  <blockquote>
    <p>If a form has any child or owned forms, a <code>FormClosing</code> event is also
    raised for each one. If any one of the forms cancels the event, none
    of the forms are closed.</p>
  </blockquote>
  
  <p>What I'm trying to achieve:</p>
  
  <ul>
  <li>Minimize/restore a form should also minimize/restore all it's ancestors.</li>
  <li>Closing a form should go al the way down the hierarchy of forms to the "youngest" child, if any of them decides not to close (<code>FormClosingEventArgs.Cancel = true;</code>) then the deal is off.</li>
  </ul>
  
  <p>Should this be implemented using extra event handling (subscribing to the Owner's <code>FormClosing</code>/<code>FormClosed</code>/<code>SizeChanged</code> events) or am I missing something here?</p>