Remember the good old Forms collection in VB 6.0. How easy it was to enumerate through the Forms that were loaded. In .NET we don't have any such collection.

In .NET this can be achieved by adding a simple Class with a Shared member.
VB Code:
  1. Public Class FormsCollection
  2.     Public Shared Forms As ArrayList = New ArrayList
  3. End Class

Now in the constructor of all the Forms write
VB Code:
  1. FormsCollection.Forms.Add(Me)
This will add the Forms to the collection whenever they are created in the memory.

Now to loop through the collection we can use
VB Code:
  1. For Each f As Form In FormsCollection.Forms
  2.      'rest of code here            
  3. Next

Remember when you close the Form you need to remove the Form from the Collection using
VB Code:
  1. FormsCollection.Forms.Remove(Me)