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();//低版本配置文件复制到高版本配置文件
}