lundi 20 avril 2015

in windows forms controls in tabpage increments by one when tabpage is recreated

In my windows form I create a tabpage and add controls to them. But when I close a particular tabpage and reopen it then the controls in it are incremented by one. I mean to say I only want to display one panelbox in tabpage when I close it and reopens it . the tabpage contains two panels.

here is the code

      //onButtonClickEvent
        TabPage tab1 = new TabPage();
        tab1.Name = "CriminalRecord";
        tab1.Text = "Criminal Record".ToString();
        tab1.Visible = true;
        tab1.BackColor = Color.Brown;

        if (tabControl1.TabPages.Count != 0)
        {
            for (int i = 0; i <= tabControl1.TabCount; i++)
            {
                if (tabControl1.TabPages.Contains(tab1))
                {
                    tabControl1.SelectTab(tab1);
                }
                else
                {
                    tabControl1.Controls.Add(tab1);
                    tab1.Controls.Add(loadPanelBottom());
                    tab1.Controls.Add(loadPanel());
                    tab1.Controls.Add(loadPanelTop());
                }
            }
        }
        else
        {
            tabControl1.Controls.Add(tab1);
            tab1.Controls.Add(loadPanelBottom());
            tab1.Controls.Add(loadPanel());
            tab1.Controls.Add(loadPanelTop());
        }


    Splitter loadPanel()
    {
        Splitter splitter1 = new Splitter();
        splitter1.BackColor = SystemColors.ControlDarkDark;
        splitter1.Cursor = Cursors.HSplit;
        splitter1.Dock = DockStyle.Top;
        splitter1.Location = new System.Drawing.Point(0, 0);
        splitter1.Name = "splitter1";
        splitter1.Size = new System.Drawing.Size(100, 5);
        splitter1.TabIndex = 1;

        return splitter1;
    }

Aucun commentaire:

Enregistrer un commentaire