UserConfig类详解 | Winform 蝇量级开发框架|C/S开发框架
作者:csframework|C/S框架网  发布日期:2022/02/23 17:09:57

UserConfig类详解 | Winform 蝇量级开发框架|C/S开发框架

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 用户喜好、系统参数设置窗体应用

UserConfig类详解 | Winform 蝇量级开发框架|C/S开发框架

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

UserConfig类详解 | Winform 蝇量级开发框架|C/S开发框架

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



扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇