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.
  • @ QM|T_JinX:
    it a good lookin game for sure but im not as good anymore in that game haha
    so it seems hahah
  • @ lurch6661:
    high
  • @ QM|T_JinX:
    high
  • @ QM|T_JinX:
    bro im not on messager ok if im online on there ppl start to message me dont feel like going on and on on text
  • @ lurch6661:
    ok bro
  • @ QM|T_JinX:
    nothing agains you you know that right just dont feel like answer all those text the hole time
  • @ lurch6661:
    i understand trust m e lol
  • @ QM|T_JinX:
    by the way i unlocked the gold camo on bo7 looks pretty cool hahah
  • @ lurch6661:
    lol
  • @ ANGUS0023233:
    Jinx do you got PSN ?
  • @ QM|T_JinX:
    yea i do
  • @ QM|T_JinX:
    my gf is coming over i check you guys later on tc guys
  • @ lurch6661:
    ok bro tc
  • @ ANGUS0023233:
    Wow bunch of my links and such are gone i’ll have to look into it and try to fix it or update it anyways take care lurch and jinx
  • @ QM|T_JinX:
    t bro good to see you back on here catch you guys later
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    Christo has joined the room.
  • Chat Bot:
    carkys is our newest member. Welcome!
  • Chat Bot:
    QM|T_JinX 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:
    Christo has joined the room.
  • @ Christo:
    Happy First Sunday of Advent

    :christmastree:
    +1
      @ Christo: Happy First Sunday of Advent :christmastree: +1