C# winform Settings 工作原理和方法说明

之前的文章说到Winform中Settings的作用,和使用方法,本文补充一些说明

Settings里的属性根据范围分为两种 “用户”和“应用程序”

范围为“应用程序”的属性,读取都是从APP.CONFIG里获取,设置也可以通过手工修改App.config改变,但是在程序中无法对其进行赋值,只能读取。

而范围为“用户”的属性 Settings 在第一次运行时会读取App.config里的初始值

但是一旦调用Save方法后,Settings里“用户”范围的属性就会保存在系统里面,类似WebForm里的Cookies一样

从此以后,读取都会从系统里保存的值里读取,手工修改App.config里的“用户”范围的属性不会影响到这些属性,但是在调用Reset方法时会从新从App.config里获取“用户”范围的属性写入到系统中。

也就是说,settings里“用户”范围的属性总共有3个地方存储。

1、app.config配置文件-----程序第一次运行,之前程序未调用save(),在系统中找不到就会从这里获取

2、操作系统--------当settings调用save()保存后。

3、内存----程序启动后,实例化settings对象,该实例在创建的时候从系统(如果系统中没有就如前面提到的从配置文件中获取)读取在内存中。

另外app.config,系统,内存这3个位置之间值的关系可以使用以下方法互相影响。

new() 构造函数,从系统或配置文件中读取属性值 ,“用户”属性先检查系统,如果没有值,再冲配置文件中读取,“应用程序”属性都从配置文件读取。

Save:将settings“用户”范围的属性写入到系统中, settings实例后,在程序中被赋予新值,如果想保存这些值以便在程序下一次运行时使用,就可以调用Save保存

例:

Properties.Settings.Default.Save();

Reload:从系统或App.config中读取已保存的值刷新当前内存里“用户”范围的属性。先检查系统,当系统中没有保存时再从app.config中获取

例:

Properties.Settings.Default.Reload();

Reset:清空系统中保存的settings,并且从app.config中刷新内存里“用户”范围的属性。
例:

Properties.Settings.Default.Reset();

Upgrade:当程序安装多个时,从最新的一个程序所保存在系统的值读取出来并刷新内存里“用户”范围的属性。
例:

Properties.Settings.Default.Upgrade();

时间: 2024-10-06 17:03:56

C# winform Settings 工作原理和方法说明的相关文章

从头认识java-15.7 Map(2)-介绍HashMap的工作原理-put方法

这一章节我们来介绍HashMap的工作原理. 1.HashMap的工作原理图 下图引用自:http://www.admin10000.com/document/3322.html 2.HashMap初始化的时候我们可以这样理解:一个数组,每一个位置存储的是一个链表,链表里面的每一个元素才是我们记录的元素 3.下面我们来看put的源码: public V put(K key, V value) { if (key == null) return putForNullKey(value); int

从头认识java-15.7 Map(3)-介绍HashMap的工作原理-get方法

接着上一章节,我们来讨论一下get方法. 1.还是利用上一章节的图 下图引用自:http://www.admin10000.com/document/3322.html 我们简单说一下步骤,就是通过hashcode先找到table上面的位置,然后遍历位置上的链表 2.get方法的源码: public V get(Object key) { if (key == null) return getForNullKey(); int hash = hash(key.hashCode()); for (

虚函数列表: 取出方法 // 虚函数工作原理和(虚)继承类的内存占用大小计算 32位机器上 sizeof(void *) // 4byte

#include <iostream> using namespace std; class A { public: A(){} virtual void geta(){ cout << "A:A" <<endl; } virtual void getb(){ cout << "A:B" <<endl; } }; class B :public A{ public: B(){} virtual void g

GPRS DTU工作原理和功能 DTU配置方法详解

GPRS DTU 简称GPRS模块,即串口服务器的无线版,其功能与串口服务器类似.利用移动和联通遍布全国的GSM网络,通过短信方式进行数据传输.那么GPRS DTU有什么功能呢?GPRS DTU怎么配置? GPRS DTU工作原理简介: DTU与服务器之间的通信是由GPRS DTU端(客户端)发起的,服务器端通过发回反馈或接受通信来对DTU端做出响应.DTU端与服务器端共同组成了基于GPRS和INTERNET网络通信的应用系统.相比DTU端,服务器端安装有更为复杂的应用程序,能够接受任何DTU端

汽车防雨剂的工作原理和使用方法

身为一名老司机,肯定都有开车遇到雨雾天气的经历,雨水覆盖在后视镜和车窗玻璃上,影响开车视线,安全隐患很大.其实这个问题是可以轻松化解的,只要给汽车玻璃喷上防雨剂,雨天后视镜就不会再沾水了. 一.汽车防雨剂工作原理 玻璃车窗容易残余雨水是因为玻璃具有亲水性,加上行驶途中沾上灰尘,雨滴聚集不容易滑落.汽车防雨剂借鉴荷叶仿生学原理,将氟素纳米分子喷涂在玻璃表面,形成一层光滑防水膜,能快速疏导雨水,避免镜面模糊不清,驾驶更安全. 二.汽车防雨剂使用方法 防雨剂使用方法很简单,注意细节即可. 1.首先将后

DisplayNameFor()方法的工作原理

DisplayNameFor()方法的工作原理原创Peter Yelnav 最后发布于2018-11-23 11:09:51 阅读数 1308 收藏展开最近研究了一下ASP.NET MVC,困惑于视图中DisplayNameFor()方法,于是粗略探究了一下.观点浅显,如有错误之处,还请各位大神多多指正. 完整代码可以到Microsoft Doc / ASP.NET / ASP.NET MVC中查看,链接如下:https://docs.microsoft.com/en-us/aspnet/mvc

IGBTMOS管的工作原理及检测方法

IGBT又称MOS管,是由双极型三极管(BJT)和绝缘栅型场效应管(MOS)组成的复合全控型电压驱动式功率半导体器件.其输入极为MOS管输出极为PNP晶体管.因此,可以把其看作是MOS管输入的达林顿管. 它融合了MOS管的高输入阻抗和GTR的低导通压降两方面的优点,具备易于驱动.峰值电流容量大.自关断.开关频率高(10-40kHz)等特点,已逐步取代晶闸管和门极可关断晶闸管(GTO),是目前发展最为迅速的新一代电力电子器件.广泛应用于小体积.高效率的变频电源.电机调速.UPS及逆变焊机当中. 一

SQL索引工作原理

SQL 当一个新表被创建之时,系统将在磁盘中分配一段以8K为单位的连续空间,当字段的值从内存写入磁盘时,就在这一既定空间随机保存,当一个8K用完的时候, SQLS指针会自动分配一个8K的空间.这里,每个8K空间被称为一个数据页(Page),又名页面或数据页面,并分配从0-7的页号,每个文件的第0页记录引导信息,叫文件头(File header):每8个数据页(64K)的组合形成扩展区(Extent),称为扩展.全部数据页的组合形成堆(Heap). SQLS 规定行不能跨越数据页,所以,每行记录的

B/S工作原理

转自 http://blog.csdn.net/akkzhjj/article/details/17765541 B/S疑问 先对比C/S,在C/S中我们开发时怎么做的,是不是这样:拖控件,写方法,所有的功能基本就是这样,就像我们的机房收费系统,C/S学习完之后,我们开始B/S学习,这里我们接触的是ASP.NET的web学习,首先我们学习的牛腩新闻发布系统,感觉很简单,和之前的C/S开发有很多相似的地方,大部分实现功能也是拖控件,写方法,最多在ASP.NET中可以通过HTML.CSS设计页面(也