CategoryAttribute Class
 

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

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

Inheritance Hierarchy
SystemObject
   SystemAttribute
    System.ComponentModelCategoryAttribute

Syntax
[AttributeUsageAttribute(AttributeTargets.All)]
public class CategoryAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)]
public ref class CategoryAttribute : Attribute
[<AttributeUsageAttribute(AttributeTargets.All)>]
type CategoryAttribute = 
    class
        inherit Attribute
    end
<AttributeUsageAttribute(AttributeTargets.All)>
Public Class CategoryAttribute
	Inherits Attribute
Constructors
NameDescription
System_CAPS_pubmethod CategoryAttribute

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

System_CAPS_pubmethod CategoryAttribute

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

Properties
NameDescription
System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Action category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Appearance category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Asynchronous category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Behavior category.

System_CAPS_pubproperty

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

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Data category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Default category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Design category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the DragDrop category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Focus category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Format category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Key category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Layout category.

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the Mouse category.

System_CAPS_pubproperty

When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)

System_CAPS_pubproperty System_CAPS_static

Gets a CategoryAttribute representing the WindowStyle category.

Methods
NameDescription
System_CAPS_pubmethod Equals

Returns whether the value of the given object is equal to the current CategoryAttribute..(Overrides AttributeEquals.)

System_CAPS_protmethod Finalize

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethod GetHashCode

Returns the hash code for this attribute.(Overrides AttributeGetHashCode.)

System_CAPS_protmethod GetLocalizedString

Looks up the localized name of the specified category.

System_CAPS_pubmethod GetType

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethod IsDefaultAttribute

Determines if this attribute is the default.(Overrides AttributeIsDefaultAttribute.)

System_CAPS_pubmethod Match

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)

System_CAPS_protmethod MemberwiseClone

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethod ToString

Returns a string that represents the current object.(Inherited from Object.)

Explicit Interface Implementations
NameDescription
System_CAPS_pubinterface System_CAPS_privmethod _AttributeGetIDsOfNames

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterface System_CAPS_privmethod _AttributeGetTypeInfo

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)

System_CAPS_pubinterface System_CAPS_privmethod _AttributeGetTypeInfoCount

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

System_CAPS_pubinterface System_CAPS_privmethod _AttributeInvoke

Provides access to properties and methods exposed by an object.(Inherited from Attribute.)

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 property indicates the name of the category that the attribute represents. The 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

Properties related to available actions.

Properties related to how an entity appears.

Properties related to how an entity acts.

Properties related to data and data source management.

Properties that are grouped in a default category.

Properties that are available only at design time.

Properties related to drag-and-drop operations.

Properties related to focus.

Properties related to formatting.

Properties related to the keyboard.

Properties related to layout.

Properties related to the mouse.

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

For more information, see Extending Metadata Using 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")] 
 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
   [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.
   }
}

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);
' 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)
// 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 );
Version Information
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Thread Safety

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

Return to top