UserScopedSettingAttribute Class

Definition

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

[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class UserScopedSettingAttribute : System.Configuration.SettingAttribute
Inheritance
UserScopedSettingAttribute
Attributes

Inherited Members

System.Attribute

System.Object

Examples

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
ref class FormSettings sealed: public ApplicationSettingsBase
{
public:
    [UserScopedSettingAttribute()]
    property String^ FormText
    {
        String^ get()
        {
            return (String^)this["FormText"];
        }
        void set( String^ value )
        {
            this["FormText"] = value;
        }
    }

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

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

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

};
//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; }
    }

}
'Application settings wrapper class. This class defines the settings we intend to use in our application.
NotInheritable Class FormSettings
    Inherits ApplicationSettingsBase

    <UserScopedSettingAttribute()> _
    Public Property FormText() As String
        Get
            Return CStr(Me("FormText"))
        End Get
        Set(ByVal value As String)
            Me("FormText") = value
        End Set
    End Property

    <UserScopedSettingAttribute(), DefaultSettingValueAttribute("0, 0")> _
    Public Property FormLocation() As Point
        Get
            Return CType(Me("FormLocation"), Point)
        End Get
        Set(ByVal value As Point)
            Me("FormLocation") = value
        End Set
    End Property

    <UserScopedSettingAttribute(), DefaultSettingValueAttribute("225, 200")> _
    Public Property FormSize() As Size
        Get
            Return CType(Me("FormSize"), Size)
        End Get
        Set(ByVal value As Size)
            Me("FormSize") = value
        End Set
    End Property

    <UserScopedSettingAttribute(), DefaultSettingValueAttribute("LightGray")> _
    Public Property FormBackColor() As Color
        Get
            Return CType(Me("FormBackColor"), Color)
        End Get
        Set(ByVal value As Color)
            Me("FormBackColor") = value
        End Set
    End Property
End Class

Remarks

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.

Constructors

UserScopedSettingAttribute()

Initializes a new instance of the UserScopedSettingAttribute class.