Export (0) Print
Expand All

UserScopedSettingAttribute Class

Specifies that an application settings group or property contains distinct values for each user of an application. This class cannot be inherited.

Namespace:  System.Configuration
Assembly:  System (in System.dll)

[AttributeUsageAttribute(AttributeTargets.Property)]
public sealed class UserScopedSettingAttribute : SettingAttribute

Application settings properties have a scope that is based either at the application or the user level. As the categories imply, application-scoped properties present uniform values to all users of the application, whereas user-scoped properties have dedicated values for each user of the application.

The UserScopedSettingAttribute indicates that a property should be considered a user level setting, and that appropriate storage decisions should be made accordingly by the settings provider.

A scope attribute is required for each application settings property. If a property is not applied with either a ApplicationScopedSettingAttribute or UserScopedSettingAttribute, the property is ignored by the settings provider—it is not serialized. It is invalid, however, to apply both attributes to the same settings property. Such an attempt will cause a ConfigurationErrorsException to be thrown.

The following code example demonstrates the use of the UserScopedSettingAttribute applied to all four properties of the FormSettings wrapper class, which is derived from the ApplicationSettingsBase class. This class is used to persist the location, size, background color, and text of form. The full code example is listed in the ApplicationSettingsBase class overview.

//Application settings wrapper class 
sealed class FormSettings : ApplicationSettingsBase
{
    [UserScopedSettingAttribute()]
    public String FormText
    {
        get { return (String)this["FormText"]; }
        set { this["FormText"] = value; }
    }

    [UserScopedSettingAttribute()]
    [DefaultSettingValueAttribute("0, 0")]
    public Point FormLocation
    {
        get { return (Point)(this["FormLocation"]); }
        set { this["FormLocation"] = value; }
    }

    [UserScopedSettingAttribute()]
    [DefaultSettingValueAttribute("225, 200")]
    public Size FormSize
    {
        get { return (Size)this["FormSize"]; }
        set { this["FormSize"] = value; }
    }


    [UserScopedSettingAttribute()]
    [DefaultSettingValueAttribute("LightGray")]
    public Color FormBackColor
    {
        get { return (Color)this["FormBackColor"]; }
        set { this["FormBackColor"] = value; }
    }

}

System.Object
  System.Attribute
    System.Configuration.SettingAttribute
      System.Configuration.UserScopedSettingAttribute

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft