Private Sub LaunchForm(ByVal FormType As System.Type) '-- Establish Locals For Each f As Form In Me.MdiChildren If Not String.IsNullOrEmpty(f.Name) Then If f.Name.ToUpper = FormType.Name.ToUpper Then MessageBox.Show("Form """ & f.Text.Trim() & """ already running.") Exit Sub End If End If Next Dim loForm As Form '-- Create the form Try loForm = CType(Activator.CreateInstance(FormType), Form) '-- Set the MDI parent loForm.MdiParent = Me '-- Add a handler to the form close ' AddHandler loForm.FormClosed, AddressOf HandlefFormClosed '-- Show the form loForm.Show() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub