zoukankan      html  css  js  c++  java
  • dev的documentManager,多个tab窗体

    控件vs的menuStrip+dev的documentManager

    private void CreateData(List<Funcation> modules)
            {
                modules.Add(new Funcation() { ID = 1, PID = -1, FunctionName = "统计数据", FunctionKey = "" });
                modules.Add(new Funcation() { ID = 2, PID = 1, FunctionName = "未打单统计数据", FunctionKey = "ClientGoodInfo.PlaySingleInfo.frmPlaySingleInfo" });
                modules.Add(new Funcation() { ID = 3, PID = 1, FunctionName = "Rides未打单统计", FunctionKey = "ClientGoodInfo.RedisData.frmPlaySingleInfo" });
            }
    
            private void LoadItemModules()
            {
                List<Funcation> modules = new List<Funcation>();
                CreateData(modules);
                LoadItemModules(modules, -1, menuItem.Items);
            }
    
            public void LoadItemModules(List<Funcation> modules, int parentModuleNO, ToolStripItemCollection items)
            {
                foreach (var module in modules)
                {
                    if (module.PID != parentModuleNO) continue;
                    var item = new ToolStripMenuItem();
                    object runner = null;
                    if (!string.IsNullOrWhiteSpace(module.FunctionKey))
                    {
                        var typeFullNames = module.FunctionKey.Split(',');
                        foreach (var typeFullName in typeFullNames)
                        {
                            runner = ReflectFormType.Reflect(typeFullName);
                            if (runner != null) break;
                        }
                    }
                    if (runner == null && !modules.Any(m => m.PID == module.ID)) continue;
                    item.Text = module.FunctionName;
                    item.Tag = module;
                    items.Add(item);
                    item.Click += item_Click;
                    LoadItemModules(modules, module.ID, item.DropDownItems);
                }
            }
    
            private void item_Click(object sender, EventArgs e)
            {
                var type = ((ToolStripMenuItem)sender).Tag as Funcation;
                if (type != null)
                    AddDocument(type);
            }
    
            private void AddDocument(Funcation CurrentModel)
            {
                if (!string.IsNullOrWhiteSpace(CurrentModel.FunctionKey))
                {
                    var typeFullNames = CurrentModel.FunctionKey.Split(',');
                    foreach (var typeFullName in typeFullNames)
                    {
                        var type = ReflectFormType.GetFrom(typeFullName);//反射窗体类型
                        if (type != null)
                        {
                            foreach (BaseDocument fdocument in tabbedView1.Documents)
                            {
                                if (fdocument.Tag == type)
                                {
                                    tabbedView1.Controller.Activate(fdocument);//是否已经打开窗体
                                    return;
                                }
                            }
                            tabbedView1.BeginUpdate();//开始加载窗体
                            tabbedView1.Manager.MdiParent = this;
                            BaseDocument document = tabbedView1.AddDocument(type);
                            document.Footer = Directory.GetCurrentDirectory();
                            document.Tag = type;
                            tabbedView1.Controller.Activate(document);
                            tabbedView1.EndUpdate();
                            break;
                        }
                    }
                }
            }
  • 相关阅读:
    linux卸载mysql,apache,php
    iOS 秒数转换成时间,时,分,秒
    iOS 正则表达式判断邮箱、身份证..是否正确
    ios 删除系统从相册压缩的视频
    iOS 视频选择压缩
    iOS 从相册中拿到 图片名 ,截取后缀,图片名
    ios 根据颜色生成图片,十六进制颜色。
    ios 友盟第三方登录遇到的各种坑。
    项目适配iOS9遇到的一些问题及解决办法 ,以及URL 白名单配置方法
    ios 设置head请求头,自定义head, read response header
  • 原文地址:https://www.cnblogs.com/shuaimeng/p/9716997.html
Copyright © 2011-2022 走看看