This topic has not yet been rated - Rate this topic

CategoryAttribute Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Specifies the name of the category in which to group the property or event when displayed in a PropertyGrid control set to Categorized mode.

System.Object
  System.Attribute
    System.ComponentModel.CategoryAttribute

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

[AttributeUsageAttribute(AttributeTargets.All)]
public class CategoryAttribute : Attribute

The CategoryAttribute type exposes the following members.

  Name Description
Public method CategoryAttribute() Initializes a new instance of the CategoryAttribute class using the category name Default.
Public method CategoryAttribute(String) Initializes a new instance of the CategoryAttribute class using the specified category name.
Top
  Name Description
Public property Static member Action Gets a CategoryAttribute representing the Action category.
Public property Static member Appearance Gets a CategoryAttribute representing the Appearance category.
Public property Static member Asynchronous Gets a CategoryAttribute representing the Asynchronous category.
Public property Static member Behavior Gets a CategoryAttribute representing the Behavior category.
Public property Category Gets the name of the category for the property or event that this attribute is applied to.
Public property Static member Data Gets a CategoryAttribute representing the Data category.
Public property Static member Default Gets a CategoryAttribute representing the Default category.
Public property Static member Design Gets a CategoryAttribute representing the Design category.
Public property Static member DragDrop Gets a CategoryAttribute representing the DragDrop category.
Public property Static member Focus Gets a CategoryAttribute representing the Focus category.
Public property Static member Format Gets a CategoryAttribute representing the Format category.
Public property Static member Key Gets a CategoryAttribute representing the Key category.
Public property Static member Layout Gets a CategoryAttribute representing the Layout category.
Public property Static member Mouse Gets a CategoryAttribute representing the Mouse category.
Public property TypeId When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute.)
Public property Static member WindowStyle Gets a CategoryAttribute representing the WindowStyle category.
Top
  Name Description
Public method Equals Returns whether the value of the given object is equal to the current CategoryAttribute.. (Overrides Attribute.Equals(Object).)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Returns the hash code for this attribute. (Overrides Attribute.GetHashCode().)
Protected method GetLocalizedString Looks up the localized name of the specified category.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method IsDefaultAttribute Determines if this attribute is the default. (Overrides Attribute.IsDefaultAttribute().)
Public method Match When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Explicit interface implemetation Private method _Attribute.GetIDsOfNames Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.)
Explicit interface implemetation Private method _Attribute.GetTypeInfo Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.)
Explicit interface implemetation Private method _Attribute.GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.)
Explicit interface implemetation Private method _Attribute.Invoke Provides access to properties and methods exposed by an object. (Inherited from Attribute.)
Top

A CategoryAttribute indicates the category to associate the associated property or event with, when listing properties or events in a PropertyGrid control set to Categorized mode. If a CategoryAttribute has not been applied to a property or event, the PropertyGrid associates it with the Misc category. A new category can be created for any name by specifying the name of the category in the constructor for the CategoryAttribute.

The Category property indicates the name of the category that the attribute represents. The Category property also provides transparent localization of category names.

Notes to Inheritors

If you use category names other than the predefined names, and you want to localize your category names, you must override the GetLocalizedString method.

The CategoryAttribute class defines the following common categories:

Category

Description

Action

Properties related to available actions.

Appearance

Properties related to how an entity appears.

Behavior

Properties related to how an entity acts.

Data

Properties related to data and data source management.

Default

Properties that are grouped in a default category.

Design

Properties that are available only at design time.

DragDrop

Properties related to drag-and-drop operations.

Focus

Properties related to focus.

Format

Properties related to formatting.

Key

Properties related to the keyboard.

Layout

Properties related to layout.

Mouse

Properties related to the mouse.

WindowStyle

Properties related to the window style of top-level forms.

For more information, see Extending Metadata Using Attributes.

The following example creates the MyImage property. The property has two attributes: a DescriptionAttribute and a CategoryAttribute.


[Description("The image associated with the control"),Category("Appearance")] 
 public Image MyImage {
    get {
       // Insert code here.
       return image1;
    }
    set {
       // Insert code here.
    }
 }


The next example gets the category for MyImage. First, the code gets a PropertyDescriptorCollection with all the properties for the object. Next, the code indexes into the PropertyDescriptorCollection to get MyImage. Then it returns the attributes for this property and saves them in the variable attributes.

The example then prints the category by retrieving CategoryAttribute from the AttributeCollection, and writing it to the console screen.


// Gets the attributes for the property.
 AttributeCollection attributes = 
    TypeDescriptor.GetProperties(this)["MyImage"].Attributes;

 // Prints the description by retrieving the CategoryAttribute.
 // from the AttributeCollection.
 CategoryAttribute myAttribute = 
    (CategoryAttribute)attributes[typeof(CategoryAttribute)];
 Console.WriteLine(myAttribute.Category);


.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)