there is some code posted in the vb.net codebank which i put there a while back showing how to unload all your Forms in .net, the basics of it are like this .....
VB Code:
  1. Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
  2. Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
  3.  
  4.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  5.         Dim objType As Type() = Reflection.Assembly.GetExecutingAssembly.GetTypes()
  6.         Dim x As Integer, i As Integer
  7.         Try
  8.             For x = LBound(objType) To UBound(objType)
  9.                 If Not objType(x).Name = Me.Name Then '/// make sure you dont unload this form yet.
  10.                     i = FindWindow(vbNullString, objType(x).Name)
  11.                     If Not i = 0 Then
  12.                         PostMessage(i, CInt(&H10), vbNullString, vbNullString)
  13.                     End If
  14.                 End If
  15.             Next
  16.         Catch ex As Exception
  17.             MessageBox.Show("Oops, the following error occured:" & ex.Message)
  18.         Finally
  19.             MyBase.Close() '/// now that all the other forms are closed , unload this one.
  20.         End Try
  21.     End Sub
the link for the thread in the codebank is this...
Close all Forms in .Net