C# Allow only 1 instance of a form to be opened
Tutorial Name: C# Allow only 1 instance of a form to be opened
Category: Programming Tutorials
Submitted By: Zero1UP
In this example I will show you how to only allow one instance of a form to be open when using MDI parent forms.
An MDI parent form acts as a container in which you are able to open other forms inside of. If you have a multiform application this can help with screen clutter since it will be self contained.
To make a form an MDI parent head over to the form properties and set IsMdiContainer to true.
Any form that you wish to open in this form, you would set their mdiParent to this form. However the code below will handle this for you.
//Code that handles Child forms. May be adding more code to this down the road for customization.
//No need to write the same code for every form
private void CreateMDIChild(Form childForm)
//Checks if child form already exists. Only open if it does not exist in the collection
FormCollection allForms = Application.OpenForms;
bool formOpened = false; //Assume that this form does not already exist
foreach (Form frm in allForms)
if (frm.Name == childForm.Name)
//set it to true
formOpened = true;
//As long as formOpened is false we can open the new form as a child form to the parent
if (formOpened == false)
childForm.MdiParent = this;
Using the method
private void loginRegisterToolStripMenuItem_Click(object sender, EventArgs e)
- 01. A Simple HTML Document (71)
- 02. [HTML] HTML Basics (47)
- 03. [VB.NET] How to make and sav... (607)
- 04. VB.NET] Open Site when Tool... (415)
- 05. [VB.NET] Opening external pr... (418)
- 06. [VB.NET] Message Box (488)
- 07. [ VB.NET ] How to use progre... (538)
- 08. [VB.NET] How to extend your... (626)
- 09. [VB.NET] How to make flashin... (957)
- 10. [VB.NET] How to use a progre... (827)
- 11. [VB.NET] How to Make a Splas... (890)
- 12. [VB.NET] How to Make a HTML... (547)
- 13. [VB.NET] How to Count Time! (618)
- 14. [VB.NET] How to Make a Count... (581)
- 15. [VB.NET] How to Make a Rando... (343)