UserConfig类详解 - Winform 蝇量级开发框架


UserConfig类详解 - Winform 蝇量级开发框架

UserConfig类详解 - Winform 蝇量级开发框架

一、UserConfig类

用于存储系统自定义数据、用户自定义数据。该类提供一组通用属性和方法:

  • UserConifg.Current - 全局实例
  • Load - 加载本地配置
  • Save - 存储数据到本地文件(持久化)

二、应用场景

  • 用户个性设置、用户喜好设置
  • 系统参数配置

三、C#源码 - UserConfig类设计

C# 全选
 /// <summary>
    /// 用户个性设置/用户配置文件
    /// </summary>
    public class UserConfig
    {
        public UserConfig()
        {
        }

        #region 实例

        private static UserConfig _Current = null;

        /// <summary>
        /// 当前用户个性设置
        /// </summary>
        public static UserConfig Current
        {
            get
            {
                if (_Current == null) Load();
                return _Current;
            }
        }

        #endregion

        /// <summary>
        /// 加载配置
        /// </summary>
        public static void Load()
        {
            var file = Path.Combine(Application.StartupPath, "user_config.xml");
            if (File.Exists(file))
                _Current = MyXmlSerializer.Deserialize<UserConfig>(file);
            else
                _Current = new UserConfig();
        }

        /// <summary>
        /// 保存配置
        /// </summary>
        public static void Save(UserConfig config = null)
        {
            if (config == null) config = _Current;
            var file = Path.Combine(Application.StartupPath, "user_config.xml");
            MyXmlSerializer.Serialize(config, file);
        }

        #region 属性

        /// <summary>
        /// 最后一次登陆的用户编号
        /// </summary>
        public string User { get; set; }

        /// <summary>
        /// 最后一次登陆的数据库编号
        /// </summary>
        public string DBID { get; set; }

        /// <summary>
        /// 最后一次登陆的账套编号
        /// </summary>
        public string DataSetID { get; set; }

        /// <summary>
        /// 最后一次登陆的密码
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        /// 是否保存登陆信息
        /// </summary>
        public bool IsSaveLoginInfo { get; set; }

        /// <summary>
        /// 显示工具栏标签(Page Header)
        /// </summary>
        public bool ShowRibbonPageHeader { get; set; }

        /// <summary>
        /// 当前皮肤名称
        /// </summary>
        public string SkinName { get; set; }

        /// <summary>
        /// 当前导航菜单样式
        /// </summary>
        public string NavBarStyle { get; set; }

        /// <summary>
        /// 当前激活的组
        /// </summary>
        public string NavActiveName { get; set; }

        /// <summary>
        /// 左侧导航菜单宽度
        /// </summary>
        public int NavWidth { get; set; }

        /// <summary>
        /// ToolBar是否大小图标
        /// </summary>
        public bool ToolbarSmallIcon { get; set; }

        /// <summary>
        /// 是否显示换皮肤菜单
        /// </summary>
        public bool AllowSkin { get; set; }

        #endregion
    }

四、使用方法

4.1 用户喜好、系统参数设置窗体应用

图片

4.2 加载界面参数

C# 全选
            chkAllowSkin.Checked = UserConfig.Current.AllowSkin;
            chkAllowQueryPanelColor.Checked = UserConfig.Current.AllowQueryPanelColor;
            colorEdit1.Color = Color.FromArgb(UserConfig.Current.QueryPanelColor);
            txtEditorBackColor.Color = Color.FromArgb(UserConfig.Current.EditorBackColor);
            txtMousePoint.EditValue = UserConfig.Current.MousePoint;
            txtButtonStyle.EditValue = UserConfig.Current.ButtonStyle;
            txtEditorStyle.EditValue = UserConfig.Current.EditorStyle;

4.3. 保存参数设置

C# 全选
            UserConfig.Current.AllowSkin = chkAllowSkin.Checked;
            UserConfig.Current.AllowQueryPanelColor = chkAllowQueryPanelColor.Checked;
            UserConfig.Current.QueryPanelColor = colorEdit1.Color.ToArgb();
            UserConfig.Current.EditorBackColor = txtEditorBackColor.Color.ToArgb();
            UserConfig.Current.MousePoint = txtMousePoint.Text;
            UserConfig.Current.ButtonStyle = txtButtonStyle.Text;
            UserConfig.Current.EditorStyle = txtEditorStyle.Text;

            UserConfig.Save();

 

五、MyXmlSerializer 类

https://www.cscode.net/archive/newdoc/cs-210903193618100-88.html

 

软件开发平台-内容图片-底图-宽-开发框架文库

C/S框架网|原创精神.创造价值.打造精品

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
评论列表

发表评论

评论内容
昵称:
关联文章

UserConfig详解 - Winform 量级开发框架
DataBinder详解 - Winform MiniFramework框架
MiniFramework - 量级开发框架简介
MiniFramework - 量级开发框架Demo版下载
MiniFramework量级开发框架 - 权限设计开发文档
MiniFramework量级开发框架成功案例
多数据库支持 - MiniFramework - 量级开发框架
MenuAction详解 - Winform开发框架
MiniFramework量级开发框架与轻量级开发框架有什么区别?
通用数据操作按钮组件 ucButtonFunction - MiniFramework - 量级开发框架
ucButtonFunction 组件详解-MiniFramework框架-Winform框架
丰富的模板窗体、开发实例 - MiniFramework - 量级开发框架
两层、三层逻辑架构 - MiniFramework - 量级开发框架
自定义UI基窗体 frmBaseUI - MiniFramework - 量级开发框架
开发数据访问层DAL - MiniFramework框架 - Winform框架
DevExpress设置主题切换界面皮肤样式 - SetSkinStyle方法 - Winform 框架
开发数据查询窗体 - MiniFramework框架 - Winform框架
CSFrameworkV6旗舰版 - 个人设置、个人喜好设置UserConfig
新增业务模块 - MiniFramework框架 - Winform框架
软件界面图片提供者策略 - MiniFramework框架 - Winform框架