zoukankan      html  css  js  c++  java
  • 如何实现单实例的MDI子窗体

    这也是前两天课程中的案例。讨论的是,MDI子窗体是否也可以实现单实例

    这当然是可以做到的,我们通过下面这个方法来做就可以了
            private void ShowMdiChildForm(Type formType,bool singleinstance,params object[] args)
            {
                //这个方法可以加载任何的窗口作为MDI子窗体
    
    
                if (singleinstance) {
                    foreach (var item in this.MdiChildren)
                    {
                        if (item.GetType() == formType)
                        {
                            item.WindowState = FormWindowState.Maximized;
                            item.Activate();
                            return;
                        }
                    }
                }
    
                Form form = (Form)this.GetType().Assembly.CreateInstance(
                    formType.FullName,
                    true,
                    BindingFlags.Instance| BindingFlags.Public,
                    null,args,
                    Thread.CurrentThread.CurrentCulture,
                    null);
    
    
                form.WindowState = FormWindowState.Maximized;
                form.MdiParent = this;
                form.Show();
            }
  • 相关阅读:
    DES算法实现
    2018-2019-2 20175226 实验五《网络编程与安全》实验报告
    2018-2019-2 20175226王鹏雲 实验四《Android程序设计》实验报告
    第05组 Beta冲刺(1/4)
    Alpha事后诸葛亮
    第05组 Alpha冲刺(4/4)
    第05组 Alpha冲刺(3/4)
    第05组 Alpha冲刺(2/4)
    第05组 Alpha冲刺(1/4)
    第05组 团队Git现场编程实战
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1699453.html
Copyright © 2011-2022 走看看