Home Articles VB.Net Articles Check to see whether a form exists at runtime

Check to see whether a form exists at runtime

If you want to check whether a form exists in your project at runtime you can use the following method, you will need to ensure that you import System.Reflection in order for this to work.

    ''' <summary>
    ''' This method deals with checking whether a form exists within the current project
    ''' </summary>
    ''' <param name="formName">The name of the form that you wish to check its existance</param>
    ''' <returns>True if the form exists and False if the form doesn't exist</returns>
    ''' <remarks></remarks>
    Public Shared Function formExists(ByVal formName As String) As Boolean
        Dim myAssembly As Assembly
        Dim frm As Form = Nothing
        Dim assemblyName As String

        Try
            myAssembly = Assembly.GetEntryAssembly
            assemblyName = myAssembly.FullName.Split(",")(0)
            frm = myAssembly.CreateInstance(assemblyName & "." & formName)
        Catch ex As Exception
        End Try

        Return frm IsNot Nothing
    End Function

Please note the reason that we are using Assembly.GetEntryAssembly rather than Assembly.GetExecutingAssembly is that if we was to put our code into a DLL for example, then the executing assembly would be the dll which in most cases wouldn't contain the forms. Obviously if your forms and the code that gets the form are held in the DLL then you would want to use Assembly.GetExecutingAssembly.

Last Updated (Thursday, 05 August 2010 16:19)