Devpress个性化配置

1、获取配置文件

private System.IO.FileInfo GetConfigFile(TsModule module, string Name, string Version)
        {
            System.IO.FileInfo ConfigFile = new System.IO.FileInfo(Application.StartupPath + "\\Layout\\" + UserInfo.UserID + "\\[" + module.Moduleid + "." + module.Modulename + "]" + Name + (Version == "" ? "" : "V") + Version + ".XML");
            if (!Directory.Exists(ConfigFile.DirectoryName)) Directory.CreateDirectory(ConfigFile.DirectoryName);
            return ConfigFile;
        }

2、读取配置文件

    Form fm = uct as Form;

    private void ReadApplicatinUserPreferences(Form frm)
        {
            TsModule module = TsModule.GetById(frm.Name);
            if (frm is IGridManager)
            {
                IGridManager grids = (IGridManager)frm;
                for (int i = 0; i < grids.IGridViews.Length; i++)
                {
                    GridView g = grids.IGridViews[i];
                    //g.OptionsBehavior.EditorShowMode = EditorShowMode.Default;
                    if (g.IndicatorWidth < 35) g.IndicatorWidth = 35;
                    g.CustomDrawRowIndicator += new RowIndicatorCustomDrawEventHandler(GridView_CustomDrawRowIndicator);

                    System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, grids.VersionNo);
                    if (GridFile.Exists) g.RestoreLayoutFromXml(GridFile.FullName);
                }
            }
            if (frm is IPivotManager)
            {
                IPivotManager pivots = (IPivotManager)frm;
                for (int i = 0; i < pivots.IPivotGrids.Length; i++)
                {
                    PivotGridControl g = pivots.IPivotGrids[i];
                    System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, pivots.VersionNo);
                    if (GridFile.Exists) g.RestoreLayoutFromXml(GridFile.FullName);
                }
            }
            if (frm is ILayoutManager)
            {
                ILayoutManager layout = (ILayoutManager)frm;
                System.IO.FileInfo LayoutFile = GetConfigFile(module, layout.LayoutControl.Name, layout.VersionNo);
                if (LayoutFile.Exists) layout.LayoutControl.RestoreLayoutFromXml(LayoutFile.FullName);
            }
            if (frm is IFrame)
            {
                ((IFrame)frm).SendMessage += new SendTipMessage(OnMessage);
                ((IFrame)frm).RaiseBusy += new WaitDialog(FrmMain_RaiseBusy);
                ((IFrame)frm).Init();
            }
        }

3、保存配置文件

Form fm = uct as Form;
fm.FormClosed += new FormClosedEventHandler(mdiFrm_FormClosed);

 private void mdiFrm_FormClosed(object sender, EventArgs e)
        {
            Form nowForm = this.ActiveMdiChild;
            if (nowForm == null) return;
            WriteApplicatinUserPreferences(nowForm);
        }

private void WriteApplicatinUserPreferences(Form frm)
        {
            TsModule module = TsModule.GetById(frm.Name);
            if (frm is IGridManager)
            {
                IGridManager grids = (IGridManager)frm;
                foreach (GridView g in grids.IGridViews)
                {
                    System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, grids.VersionNo);
                    g.SaveLayoutToXml(GridFile.FullName);
                }
            }
            if (frm is IPivotManager)
            {
                IPivotManager pivots = (IPivotManager)frm;
                foreach (PivotGridControl g in pivots.IPivotGrids)
                {
                    System.IO.FileInfo GridFile = GetConfigFile(module, g.Name, pivots.VersionNo);
                    g.SaveLayoutToXml(GridFile.FullName);
                }
            }
            if (frm is ILayoutManager)
            {
                ILayoutManager layout = (ILayoutManager)frm;
                System.IO.FileInfo LayoutFile = GetConfigFile(module, layout.LayoutControl.Name, layout.VersionNo);
                layout.LayoutControl.SaveLayoutToXml(LayoutFile.FullName);
            }
        }
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 14:23
steelhead:你回的有问题,让人感觉你就是来学习的
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务