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
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
MiniFramework C/S框架网