How to check if a Form is Open in C# and VB.NET

To Check if a Form is open in C# and VB.NET you can use the snippet below.

Sample C#

public static bool FormIsOpen(FormCollection application, Type formType)
{
	//usage sample: FormIsOpen(Application.OpenForms,typeof(Form2)
	return Application.OpenForms.Cast<Form>().Any(openForm => openForm.GetType() == formType);
}

Sample VB.NET

Public Shared Function FormIsOpen(application__1 As FormCollection, formType As Type) As Boolean
	'usage sample: FormIsOpen(Application.OpenForms,GetType(Form2)
	Return Application.OpenForms.Cast(Of Form)().Any(Function(openForm) openForm.[GetType]() = formType)
End Function

Please rate this snippet

How to check if a form is already open in C# and VB.NET

To check if a form is already open in C# and VB.NET you can use the following snippet.

Sample C#

public static bool IsFormOpen(Type FormType)
{
	foreach (var OpenForm in Application.OpenForms)
	{
		if (OpenForm.GetType() == FormType)
		{
			return true;
		}
	}
	return false;
}

Sample VB.NET

Public Shared Function IsFormOpen(FormType As Type) As Boolean
	For Each OpenForm As var In Application.OpenForms
		If OpenForm.GetType() = FormType Then
			Return True
		End If
	Next
	Return False
End Function

Please rate this snippet