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();
            }
  • 相关阅读:
    android 学习笔记1- 应用程序的资源管理
    idea shortcut
    关于layou以及layout 上的控件
    java 之深拷贝与浅拷贝
    Java中static静态方法可以继承吗?可以被重写吗?
    String StringBuff StringBuilder 使用。
    linux 中断
    设备类class理解
    linux 内核符号
    QT 调试输出格式
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1699453.html
Copyright © 2011-2022 走看看