CategoryAttribute Class

Definition

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

public ref class CategoryAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public class CategoryAttribute : Attribute
public class CategoryAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type CategoryAttribute = class
    inherit Attribute
type CategoryAttribute = class
    inherit Attribute
Public Class CategoryAttribute
Inherits Attribute
Inheritance
CategoryAttribute
Attributes

Examples

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")]
   System::Drawing::Image^ get()
   {
      // Insert code here.
      return m_Image1;
   }

   void set( System::Drawing::Image^ )
   {
      // Insert code here.
   }
}
[Description("The image associated with the control"),Category("Appearance")] 
 public Image MyImage {
    get {
       // Insert code here.
       return image1;
    }
    set {
       // Insert code here.
    }
 }
<Description("The image associated with the control"), _
    Category("Appearance")> _
Public Property MyImage() As Image
    
    Get
        ' Insert code here.
        Return image1
    End Get
    Set
        ' Insert code here.
    End Set 
End Property

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 = static_cast<CategoryAttribute^>(attributes[ CategoryAttribute::typeid ]);
Console::WriteLine( myAttribute->Category );
// 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);
' Gets the attributes for the property.
Dim attributes As AttributeCollection = _
    TypeDescriptor.GetProperties(Me)("MyImage").Attributes

' Prints the description by retrieving the CategoryAttribute. 
' from the AttributeCollection.
Dim myAttribute As CategoryAttribute = _
    CType(attributes(GetType(CategoryAttribute)), CategoryAttribute)
    Console.WriteLine(myAttribute.Category)

Remarks

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(String) 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 Attributes.

Constructors

CategoryAttribute()

Initializes a new instance of the CategoryAttribute class using the category name Default.

CategoryAttribute(String)

Initializes a new instance of the CategoryAttribute class using the specified category name.

Properties

Action

Gets a CategoryAttribute representing the Action category.

Appearance

Gets a CategoryAttribute representing the Appearance category.

Asynchronous

Gets a CategoryAttribute representing the Asynchronous category.

Behavior

Gets a CategoryAttribute representing the Behavior category.

Category

Gets the name of the category for the property or event that this attribute is applied to.

Data

Gets a CategoryAttribute representing the Data category.

Default

Gets a CategoryAttribute representing the Default category.

Design

Gets a CategoryAttribute representing the Design category.

DragDrop

Gets a CategoryAttribute representing the DragDrop category.

Focus

Gets a CategoryAttribute representing the Focus category.

Format

Gets a CategoryAttribute representing the Format category.

Key

Gets a CategoryAttribute representing the Key category.

Layout

Gets a CategoryAttribute representing the Layout category.

Mouse

Gets a CategoryAttribute representing the Mouse category.

TypeId

When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
WindowStyle

Gets a CategoryAttribute representing the WindowStyle category.

Methods

Equals(Object)

Returns whether the value of the given object is equal to the current CategoryAttribute.

GetHashCode()

Returns the hash code for this attribute.

GetLocalizedString(String)

Looks up the localized name of the specified category.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

Determines if this attribute is the default.

IsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See also