开发者

How to solve this problem in Tabbed MDIChild Forms?

开发者 https://www.devze.com 2023-03-29 02:42 出处:网络
what is this error : Form that was specified to be the MdiParent for this form is not an MdiContainer.

what is this error : Form that was specified to be the MdiParent for this form is not an MdiContainer. Parameter name: value

here is the code public partial class Form5 : Form { public Form5() { InitializeComponent(); }

    private void Form1_MdiChildActivate(object sender, EventArgs e)
    {
        if (this.ActiveMdiChild == null)
            tabForms.Visible = false; // If no any child form, hide tabControl
        else
        {
            this.ActiveMdiChild.WindowState = FormWindowState.Maximized; // Child form always maximized

            // If child form is new and no has tabPage, creat开发者_如何学Pythone new tabPage
            if (this.ActiveMdiChild.Tag == null)
            {
                // Add a tabPage to tabControl with child form caption
                TabPage tp = new TabPage(this.ActiveMdiChild.Text);
                tp.Tag = this.ActiveMdiChild;
                tp.Parent = tabForms;
                tabForms.SelectedTab = tp;

                this.ActiveMdiChild.Tag = tp;
                this.ActiveMdiChild.FormClosed += new FormClosedEventHandler(ActiveMdiChild_FormClosed);
            }

            if (!tabForms.Visible) tabForms.Visible = true;
        }
    }

    // If child form closed, remove tabPage
    private void ActiveMdiChild_FormClosed(object sender, FormClosedEventArgs e)
    {
        ((sender as Form).Tag as TabPage).Dispose();
    }

    private void tabForms_SelectedIndexChanged(object sender, EventArgs e)
    {
        if ((tabForms.SelectedTab != null) && (tabForms.SelectedTab.Tag != null))
            (tabForms.SelectedTab.Tag as Form).Select();
    }


    private void projectsToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Form7 f7 = new Form7();

        f7.MdiParent = this;
        f7.Show();
    }


}


The problem is probably that in your Form5 class you are not specifying that the Form is a MdiContainer.

Try setting the IsMdiContainer property to true or set the property manualy after you call InitializeComponent in the constructor.

0

精彩评论

暂无评论...
验证码 换一张
取 消