简体   繁体   中英

In a given C# Windows Forms application/WPF, where are user settings usually stored?

I was thinking either:

  1. An Appconfig file

  2. A generic .XML file and have the program load values at launch.

What is the best way to do this? A website with a best user tutorial perhaps?

Please see Using Settings in C# :

The .NET Framework 2.0 allows you to create and access values that are persisted between application execution sessions. These values are called settings. Settings can represent user preferences, or valuable information the application needs to use. For example, you might create a series of settings that store user preferences for the color scheme of an application. Or you might store the connection string that specifies a database that your application uses. Settings allow you to both persist information that is critical to the application outside of the code, and to create profiles that store the preferences of individual users.

The answer to your question depends on the persistence model for the settings:

  • are settings per-user based or machine-wide?
  • are settings application specific or can/do they need to be used/discovered by other applications as well?
  • are settings default values known at design time or are they generated at install time?
  • are settings local to particular machine or can/will they be roamed?

The standard .NET settings support local per-user settings (when the user runs as a regular user) and local machine-wide settings (when the user runs as administrator), both with build-time machine-wide default values and for application-use only. This addresses the majority of scenarios. There is some advanced functionality there which allows to use the .NET Configuration classes with configuration files in different locations, which can allow for roamable and third-party discoverable settings as well; however, there is no Visual Studio tooling support for such scenarios.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM