Par*_*ram 84 .net c# app-config application-settings winforms
我在我的项目中添加了App.config文件.我从Project> Properties> Settings面板创建了两个设置 -
我注意到当我添加设置时,我可以将范围定义为User或Application.-
如果我定义设置,因为User它转到userSettings部分,
如果我定义设置,因为Application它转到applicationSettings部分
App.config中
<configuration>
<userSettings>
<DemoApp.Properties.Settings>
<setting name="MySetting1" serializeAs="String">
<value>Value1</value>
</setting>
</DemoApp.Properties.Settings>
</userSettings>
<applicationSettings>
<DemoApp.Properties.Settings>
<setting name="MySetting2" serializeAs="String">
<value>Value2</value>
</setting>
</DemoApp.Properties.Settings>
</applicationSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是,这些设置可以通过相同的方式访问.cs-
码
string mySetting1 = DemoApp.Properties.Settings.Default.MySetting1;
string mySetting2 = DemoApp.Properties.Settings.Default.MySetting2;
Run Code Online (Sandbox Code Playgroud)
在这两者之间应该选择的范围User和Application范围之间有什么区别?
Cal*_*alC 70
应用程序范围设置是只读的,只能在设计时更改或通过在应用程序会话之间更改.exe.config文件来更改.但是,用户范围设置可以在运行时写入,就像更改任何属性值一样.新值在应用程序会话期间保持不变.您可以通过调用Settings.Save方法在应用程序会话之间保留对用户设置的更改.
msdn上的源代码:在C#中使用设置
用户设置通常用于持久化用户偏好(例如,应用通知偏好等).应用程序设置通常用于API密钥等项目.
正如@kmote所述,当用户设置被修改并在运行时(通过settings.Save())持久化时,它们将被写入用户配置文件存储中的文件夹(通常在Windows 7及更高版本中为C:\ Users\Username\AppData\Local\AppName)).要以编程方式确定文件的位置,请参阅此文章.
mca*_*lex 67
基本上,在程序运行期间无法更改应用程序设置,用户设置也可以.然后应保存这些用户设置,以便在下次运行应用程序时向用户提供熟悉的体验.
编辑:例如,您可以使用不同的模块编写应用程序,并且需要确保主模块使用正确版本的安全模块.为此,您将设置应用程序范围设置,例如:
SecurityModuleVersion string Application v1.21
Run Code Online (Sandbox Code Playgroud)
一段时间后,当你重构的安全模块,你可以将该值更改为V1.22当您部署,以确保正确的安全正在实施
另一方面,如果您的应用程序具有不同的"皮肤"颜色更改,字体更改等,那么您可以设置如下所示的用户设置:
ApplicationSkin string User DefaultSkin
Run Code Online (Sandbox Code Playgroud)
然后,当Michelle改变她喜欢的皮肤时,应用程序会记住她的设置.这些属性现在可能如下所示:
ApplicationSkin string User HelloKittySkin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43411 次 |
| 最近记录: |