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);
            }
        }
全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 13:15
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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