65.9K
CodeProject is changing. Read more.
Home

SettingsXpress - Application Settings Made Easy

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.67/5 (9 votes)

Apr 30, 2003

2 min read

viewsIcon

85848

downloadIcon

842

Application Settings Storage and Retrieval Simplified

Introduction

With SettingsXpress you can easily create an XML settings file for your application, to store and retrieve application settings, using a streamlined code interface.

SettingsXpress can store and retrieve all native CLS compliant DotNet data types as well as Point, Size, Color, Guid, DateTime and TimeSpan settings without the need to parse string values.

The SettingsFile class acts as a virtual storage facility for your application and component settings. The settings file is organized in a hierarchical format, based on a logical ordering of SettingsKeys stored within it.

By default the settings file is stored in the current users AppData folder for the current client application. You can also specify a custom location and filename for the settings file using the SettingsFile.Create method.

A SettingsKey is the base unit of organization in the settings file, and can be compared to a folder. A particular key can have subkeys (just as a folder can have subfolders)

Each SettingsKey can have multiple settings stored within it. Each setting holds one particular value, which can be retrieved or updated when required.

Using SettingsXpress

Creating SettingsKeys and storing settings

To use your application settings file, you start by accessing the static Settings property of the SettingsFile class, which returns the root SettingsKey in the settings file.

To create a subkey use the CreateSubKey method. Once a SettingsKey is established you can now store settings using the StoreSetting method.

SettingsKey dataSettings = SettingsFile.Settings.
            CreateSubKey("DataManager/Connection");
dataSettings.StoreSetting("DriverType", 
            "Microsoft Excel");

Note: When you first access the settings file in your code, it is automatically loaded or created. To specify a specific location for the settings file use the SettingsFile.Create method.

The above code generates the XML settings file as follows :

<Settings>
    <DataManager>
      <Connection DriverType = "Microsoft Excel"/>
    </DataManager>
</Settings> 

Once you have settings established in the settings file, use the SettingsFile.Update method to update the settings file.

Retrieving SettingsKeys and settings

To retrieve a SettingsKey in the settings file you have the following options:

  • Use the SettingsKey.OpenSubkey method.
  • Use the SettingsKey[path] indexer.
  • Use the SettingsKey.CreateSubKey method

Tip : The SettingsKey.CreateSubkey method is a good option to use, when you are not certain if the key is yet to establish in the settings file.

To retrieve a setting stored within a SettingsKey, use the SettingsKey's GetSetting, GetPoint, GetSize, or GetColor methods.

The following code retrieves the width of a TreeView from the settings file.

SettingsKey TreeViewSettings = SettingsFile.
                Settings["UI/MainWindow/TreeView"];
int width = TreeViewSettings.GetSetting
            ("Width",this.TreeView.Width);

History

  • 04/20/2003 - Test release v0.5
  • 05/11/2003 - Release v1.1 with source