System 2.0.0.0 4.0.0.0

Typically, you can add application settings support to an application by creating a settings wrapper class, which is derived from , and then add special properties to this class. However, this approach does not sufficiently encapsulate application settings for a control so that its container is shielded from the details. The interface provides an application with a standard interface for communicating application settings state change requests to a control, component, or library module. Design-time tools also depend on this interface to properly manage controls and components.

Defines standard functionality for controls or libraries that store and retrieve application settings.

- Method
  2.0.0.0
  4.0.0.0
  System.Void

  In general, the method performs two essential operations:

  It causes each application settings instance contained by the control to refresh the values of its application settings properties, typically by calling their methods.

  As required, it updates those general properties that depend on these reloaded settings properties. For example, if the settings class contained a location settings property, should ensure that the control's property is updated to reflect this reloaded setting.

  Reads the control's application settings into their corresponding properties and updates the control's state.

- Method
  2.0.0.0
  4.0.0.0
  System.Void

  The implementation of the method typically calls the method on each instance of an application settings class it contains.

  Resets the control's application settings properties to their default values.

- Method
  2.0.0.0
  4.0.0.0
  System.Void

  The method writes the values of the control's application settings properties to the associated data store. The data store and serialization technique the method uses is determined by the settings provider associated with each settings class through the . You can override the choice of the settings provider by using the interface.

  If the property is true, the control should call in its own method so that the control's configuration data is stored automatically before the application ends.

  Persists the control's application settings properties.

- Property
  2.0.0.0
  4.0.0.0
  System.Boolean To be added.

  If a control contains configuration data, it will typically persist this data in response to an explicit call to the method or sometimes implicitly when the control's method is invoked. The property determines whether a control automatically persists its configuration data when it is disposed.

  The default value of depends on the implementation of the control. The documentation for the control should indicate whether it uses application settings, what data is persisted, and what the default value of the property is.

  Gets or sets a value indicating whether the control should automatically persist its application settings properties.

- Property
  2.0.0.0
  4.0.0.0
  System.String To be added.

  Use the property to disambiguate groups of application settings properties when there are multiple instances of the same wrapper class. For example, if a control contains an associated wrapper class, then placing multiple instances of the same control in the same application will typically result in multiple instances of the wrapper class. A settings key is required only when the configuration data differs on a per-instance basis; for example, the location of dynamically positioned controls.

  The following general rules apply to the use of :

  A control, like any class, may contain zero or more application settings classes, derived from . Each settings class contains its own property, which helps disambiguate multiple instances of that class.

  A control should separate its per-instance data and its shared data into different settings classes.

  For a control with any per-instance configuration data, the get accessor of the property should default to the of the control. In most cases the name of the control will be unique within an application. If the control contains only shared configuration data, get should default to null.

  The set accessor for this property should be implemented to distinguish between settings classes containing per-instance and shared configuration data. For each settings class containing per-instance data, set should just pass-through to the property of the settings class. For settings classes containing shared data, set should perform no action for that settings class.

  Gets or sets the value of the application settings key for the current instance of the control.