C# Allow only 1 instance of a form to be opened

  • Hello Guest! Welcome to ConsoleCrunch, to help support our site check out the premium upgrades HERE! to get exclusive access to our hidden content.
  • Unable to load portions of the website...
    If you use an ad blocker addon, you should disable it because it interferes with several elements of the site and blocks more than just adverts.
  • Read Rules Before Posting Post Virus Scans with every program.

1UP

Member
Oct 9, 2014
24
10
63
This was a problem I ran into with using MDI parents /children forms. You could open the same form over and over and it soon became a mess. The code below will check to see if it already exists and if it doesn't assign the new form as a child to the mdi parent form and open it.

Code:
  //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)
  {
  //Tried to open form here however it throws an error about the collection being modified. So we create a bool and if the form exists
  //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;
  childForm.Show();
  }
  }

Using the method

Code:
  private void loginRegisterToolStripMenuItem_Click(object sender, EventArgs e)
  {   
  CreateMDIChild(new frm_LoginRegister());
  }
 
  • Like
Reactions: Younis
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Chat Bot:
    Christo has joined the room.
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    Christo has joined the room.
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    Manuel1233457 is our newest member. Welcome!
  • Chat Bot:
    TY2XYT has left the room.
  • @ QM|T_JinX:
    l..........................[]
  • Chat Bot:
    Rom_c is our newest member. Welcome!
  • Chat Bot:
    QM|T_JinX has joined the room.
  • @ Spirit:
    Merry Christmas all :)
  • @ Luke:
    Merry Christmas you filthy animals
  • @ Dana White:
    Merry Christmas
  • Chat Bot:
    mirza_ba is our newest member. Welcome!
  • Chat Bot:
    MATTZK is our newest member. Welcome!
  • Chat Bot:
    Christo has joined the room.
  • Chat Bot:
    polhaasje13 is our newest member. Welcome!
  • Chat Bot:
    polhaasje13 has posted a new reply in the thread "The Last of Us Hack".
  • Chat Bot:
    polhaasje13 has posted a new reply in the thread "The Last of Us Hack".
  • Chat Bot:
    polhaasje13 has posted a new reply in the thread "MOD MENU COLLECTION V1 PKG".
  • Chat Bot:
    socolivein is our newest member. Welcome!
  • Chat Bot:
    Marley vizard is our newest member. Welcome!
  • Chat Bot:
    QM|T_JinX has joined the room.
      Chat Bot: QM|T_JinX has joined the room.