System.ComponentModel Names ...


.NET Framework Class Library
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)
Syntax

Visual Basic (Declaration)
<AttributeUsageAttribute(AttributeTargets.All)> _
Public Class CategoryAttribute _
    Inherits Attribute
Visual Basic (Usage)
Dim instance As CategoryAttribute
C#
[AttributeUsageAttribute(AttributeTargets.All)]
public class CategoryAttribute : Attribute
Visual C++
[AttributeUsageAttribute(AttributeTargets::All)]
public ref class CategoryAttribute : public Attribute
JScript
public class CategoryAttribute extends 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 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. Additionally, you can override the Category property to provide your own logic for localization.

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 Overview and Extending Metadata Using Attributes.

Examples

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

Visual Basic
<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

C#
[Description("The image associated with the control"),Category("Appearance")] 
 public Image MyImage {
    get {
       // Insert code here.
       return image1;
    }
    set {
       // Insert code here.
    }
 }
Visual C++
   [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.

Visual Basic
' 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)
C#
// 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);
Visual C++
// 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 );
Inheritance Hierarchy

System..::.Object
  System..::.Attribute
    System.ComponentModel..::.CategoryAttribute
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.
Platforms

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.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
See Also

Reference

Tags :


Community Content

Dave Sexton
More Examples

Here are some of the common category strings used for events and properties in the .NET Framework:

WinForm Event Categories

Action, Appearance, Asynchronous, Behavior, Data, Display, Drag Drop, Focus, Key, Layout, Mouse, Private, Property Changed

WinForm Property Categories

Accessibility, Appearance, Behavior, Colors, Data, Display, Drag Drop, Focus, Items, Layout, Window Style

Web Event Categories

Action, Behavior, Data

Web Property Categories

Accessibility, Action, Appearance, Behavior, Cache, Control, Data, Databindings, Layout, Links, Misc, Navigation, Paging, Styles, Validation, Web Part, Web Part Appearance, Web Part Behavior

Data Event Categories

Action, Data, Fill, InfoMessage, StateChange, StatementCompleted, Update

Data Property Categories

Advanced, Behavior, Context, Data, Fill, Initialization, Mapping, Named ConnectionString, Notification, Pooling, Replication, Schema, Security, Source, Update, XML

Common Event and Property Categories

Asynchronous, Behavior, Misc

Tags : contentbug

Page view tracker