C# settings 文件基础用法

原文

自定义设置项类型

Serializable 修饰的枚举,可作为设置项类型

[Serializable]
public enum DeviceBrand
{
    None = 0,
    [Description("虚拟高拍仪")]
    VirtualDocumentCamera = 1,
    [Description("自带摄像头")]
    UniversalDocumentCamera = 2
}

读取与设置

//读取
var value = Properties.Settings.Default.PrinterName; //方式一
var value1 = Properties.Settings.Default["PrinterName"]; //方式二

//设置
Properties.Settings.Default.PrinterName = "打印机名称";//方式一
Properties.Settings.Default["PrinterName "] = "打印机名称";//方式二

保存与重置

修改了设置,需保存,否则仅本次运行有效

//保存
Properties.Settings.Default.PrinterName = "打印机名称";//修改某项设置
Properties.Settings.Default.Save();

//重置到默认设置,再保存
Properties.Settings.Default.Reset();
Properties.Settings.Default.Save();

版本升级

修改了用户级别的设置后,会保存在文件 C:\Users\用户名\AppData\Local\exe公司名\test.exe_Url_ntqrdjot1fraqmkducfwoezjxpntmwzc\版本号\user.config 中。

提高版本号后需要主动升级配置,否则使用默认值

//先判断是否升级过配置
//一定要先判断,因为每次执行Upgrade,低版本配置文件都会覆盖高版本配置文件
if (!ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).HasFile)
{
    Settings.Default.Upgrade();//低版本配置文件复制到高版本配置文件
}
posted @ 2022-03-11 17:03  ShaynChow  阅读(605)  评论(0编辑  收藏  举报