A modeless form is employed (usually) when you need to shows something permanentely alongside your application main screen (think about a legend or an view on a stream of data coming asynchronously from a device or an MDI Child Window).
But a modeless form poses an unique challenge when you want to close it. How to retrieve the instance and call the Close method in that instance?
You can keep a global variable referencing the instance you want to close.
theGlobalInstance.Close();
theGlobalInstance.Dispose();
theGlobalInstance = null;
But we can also choose to use the Application.OpenForms collection where the form engine stores all the form instances created and still open.
You can retrieve that particular instance from this collection and call the Close method
Form2 toClose = Application.OpenForms.OfType<Form2>().FirstOrDefault();
if(toClose != null)
{
toClose.Close();
toClose.Dispose();
}