C# 应用程序设置
官方参考:http://msdn.microsoft.com/zh-cn/library/k4s6c3a0(v=VS.80).aspx
使用VS自带的应用程序设置功能
- 创建项目
- 选择菜单 [项目] > [属性]
- 选择 [设置]
就可手动添加应用程序设置了。
添加成功后,系统会自动生成App.config文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<? xml version = "1.0" encoding = "utf-8" ?> < configuration > < userSettings > < WindowsApplication5.Properties.Settings > < setting name = "mySet" serializeAs = "String" > < value >testSet_828</ value > </ setting > < setting name = "FormTitle" serializeAs = "String" > < value >FormTestdddd</ value > </ setting > </ WindowsApplication5.Properties.Settings > </ userSettings > </ configuration > |
关于User和Application的区别
- Application 不允许在程序中更新设置。只能手动更改App.config或到项目属性的设置中更改。
- User 允许在程序中更改设置。
VS也提供了一种直接在窗体控件属性的ApplicationSettings 里设置关联应用程序的快捷方法。
以下列举了使用VS自带应用程序应注意的地方
- 如果范围是Application时,在程序此值时只读的。只能通过修改App.config的对应项来更改。
- 如果范围是User,并且在程序未对此值做修改时,修改App.config对应项,在程序访问时当前值为App.config中设置的值。
- 如果范围是User,并且在程序中对此值进行了修改,App.config中记录的还会是老值,并且以后的App.config此项设置将无效。
那到底User修改后的值系统在什么地方存这呢?
经过测试是在C:\Documents and Settings\Administrator\Local Settings\Application Data\Phook\WindowsApplication5.exe_Url_nlwmvagksxwiigfpn5ymssyrjtyn22ph\1.0.0.0\user.config
下存着,如果更改以上App.config则程序将取到新值。很奇怪,微软为什么要弄的怎么复杂。
在程序中使用