ok, I need to be able to close all open forms for an MDI application except for the MDI parent.

now initially I was doing this by iterating through the mdiparent mdichildren collection as follows...

VB Code:
  1. Dim oForm As System.Windows.Forms.Form
  2.          For Each oForm In Me.MdiChildren
  3.             oForm.Dispose()
  4.          Next

Which works fine - except that one of the children (damn kids) may have started another non child form - displayed modally.
(and possibly this form has in turn displayed another modal no child form).

I need to be able to also close down these non-children forms...

Any ideas? I would have thought that there was an application level collection of open forms somewhere that I could iterate through (ignoring my parent).

Thanks