Click here to Skip to main content
Click here to Skip to main content

SettingsXpress - Application Settings Made Easy

, 10 May 2003
Rate this:
Please Sign up or sign in to vote.
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

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

Amber Star

United States United States
No Biography provided

Comments and Discussions

 
GeneralGetColor Problem Pinmemberqstar2k28-Apr-08 8:50 
GeneralSadly, contact email in source is also dead PinmemberPerry28-Mar-06 15:22 
QuestionRe: Sadly, contact email in source is also dead PinmemberAmber Star9-Mar-06 0:34 
AnswerRe: Sadly, contact email in source is also dead PinmemberPerry29-Mar-06 7:21 
AnswerRe: Sadly, contact email in source is also dead PinmemberAmber Star9-Mar-06 12:03 
GeneralRe: Sadly, contact email in source is also dead PinmemberPerry210-Mar-06 8:53 
GeneralWrong contact info url PinmemberPerry28-Mar-06 8:45 
QuestionSource formatting is not MS-Windows? PinmemberPerry27-Mar-06 9:05 
GeneralDeleting a section PinmemberMark Lerch28-May-04 12:32 
GeneralRe: Deleting a section PinmemberMark Lerch28-May-04 13:14 
GeneralRe: Deleting a section PinmemberAmber Star28-May-04 13:41 
GeneralRe: Deleting a section PinmemberMark Lerch28-May-04 13:46 
GeneralGreat Solution Pinmemberpestrada11-Mar-04 4:16 
QuestionDoc? PinmemberSteven Carleton18-Jul-03 15:21 
QuestionSpaces in key names? Pinmemberbaldo1-Jul-03 23:19 
AnswerRe: Spaces in key names? PinmemberAmber Star2-Jul-03 11:31 
QuestionCan we have more usage examples please? PinmemberTintinAndSnowy13-May-03 20:43 
AnswerRe: Can we have more usage examples please? PinmemberAmber Star14-May-03 15:00 
Generalnunit.framework missing reference Pinmemberbaldo11-May-03 23:59 
GeneralRe: nunit.framework missing reference PinsussAnonymous12-May-03 8:04 
GeneralSource code is Included PinmemberAmber Star11-May-03 12:44 
QuestionTotally awesome -- where's the source? Pinmembercwkingjr9-May-03 3:25 
AnswerRe: Totally awesome -- where's the source? PinmemberDarka9-May-03 3:35 
GeneralRe: Totally awesome -- where's the source? Pinmemberpeterchen12-May-03 4:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.141223.1 | Last Updated 11 May 2003
Article Copyright 2003 by Amber Star
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid