首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭SplitContainer中的mdi子级

关闭SplitContainer中的mdi子级
EN

Stack Overflow用户
提问于 2015-03-19 16:24:43
回答 1查看 392关注 0票数 0

我正在开发一个winforms应用程序,并在splitcontainer.panel1中放置一个mdi子表单。如果要关闭当前的mdi子表以打开另一个mdi子表,则无法获得子窗体。我使用这段代码来打开一个新的子程序,但是我想让当前的子程序关闭它:

代码语言:javascript
复制
            Accueil accueil = new Accueil();
            accueil.MdiParent = this;
            accueil.TopLevel = false;
            this.splitContainer1.Panel1.Controls.Add(accueil);
            accueil.WindowState = FormWindowState.Maximized;
            accueil.Size = this.splitContainer1.Panel1.ClientSize;
            accueil.MinimizeBox = false;
            accueil.MaximizeBox = false;
            accueil.ControlBox = false;
            accueil.Width = this.splitContainer1.Panel1.Width;
            accueil.Height = this.splitContainer1.Panel1.Height;
            accueil.Show();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-19 17:58:46

将MDI子窗口放入拆分容器中没有任何意义。通过将窗体的TopLevel属性设置为false,可以将窗体转换为普通控件。最好不要丢失推荐信。但你可能会领先于:

代码语言:javascript
复制
    while (splitContainer1.Panel1.Controls.Count > 0)
        splitContainer1.Panel1.Controls[0].Dispose();
    var accueil = new Accueil();
    accueil.TopLevel = false;
    accueil.Dock = DockStyle.Fill;
    accueil.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
    accueil.Visible = true;
    this.splitContainer1.Panel1.Controls.Add(accueil);

请考虑使用UserControl,这是最不可能长期混淆的明智方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29149943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档