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
  • @ lurch6661:
    good as it gets lol
  • @ lurch6661:
    spending alot of time with gf its her time of the month
  • @ lurch6661:
    and she outta smokes
  • @ QM|T_JinX:
    hahahha
  • @ lurch6661:
    ahhhhh oooo
  • @ lurch6661:
    ol
  • @ QM|T_JinX:
    it is what it is bro
  • @ lurch6661:
    famous saying from a wise one
  • @ lurch6661:
    lol
  • @ QM|T_JinX:
    lol
  • Chat Bot:
    xoilaccouk7 is our newest member. Welcome!
  • Chat Bot:
    Christo has joined the room.
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    ExcelUK is our newest member. Welcome!
  • Chat Bot:
    Reza684 is our newest member. Welcome!
  • @ lurch6661:
    zap
  • Chat Bot:
    xoilacad6 is our newest member. Welcome!
  • Chat Bot:
    Chrisz33t is our newest member. Welcome!
  • @ Younis:
    PS5 bootloader keys leaked?
      @ Younis: PS5 bootloader keys leaked?