CategoryAttribute Class
Assembly: System (in system.dll)
'Declaration <AttributeUsageAttribute(AttributeTargets.All)> _ Public Class CategoryAttribute Inherits Attribute 'Usage Dim instance As CategoryAttribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */ public class CategoryAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All) public class CategoryAttribute extends Attribute
Not applicable.
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 |
|---|---|
| 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. |
| Topic | Location |
|---|---|
| Developing Custom Data-Bound Web Server Controls for ASP.NET 1.1 | Authoring ASP.NET Controls |
| Walkthrough: Developing and Using a Custom Server Control | Authoring ASP.NET Controls |
| Developing Custom Data-Bound Web Server Controls for ASP.NET 2.0 | Authoring ASP.NET Controls |
| Walkthrough: Creating a Custom Data-Bound ASP.NET Web Control for ASP.NET 2.0 | Authoring ASP.NET Controls |
| Walkthrough: Creating a Custom Data-Bound ASP.NET Web Control for ASP.NET 1.1 | Authoring ASP.NET Controls |
| Walkthrough: Developing and Using a Custom Server Control | Authoring ASP.NET Controls |
| Developing Custom Data-Bound Web Server Controls for ASP.NET 1.1 | Authoring ASP.NET Controls |
| Developing Custom Data-Bound Web Server Controls for ASP.NET 2.0 | Authoring ASP.NET Controls |
| Walkthrough: Creating a Custom Data-Bound ASP.NET Web Control for ASP.NET 2.0 | Authoring ASP.NET Controls |
| Walkthrough: Creating a Custom Data-Bound ASP.NET Web Control for ASP.NET 1.1 | Authoring ASP.NET Controls |
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 Property MyImage() As Image Get ' Insert code here. Return image1 End Get Set ' Insert code here. End Set End Property
/** @attribute Description("The image associated with the control")
* @attribute Category("Appearance")
*/
/** @property
*/
public Image get_MyImage()
{
// Insert code here.
return image1;
} //get_MyImage
/** @property
*/
public void set_MyImage(Image value)
{
// Insert code here.
} //set_MyImage
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. 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)
.get_Item("MyImage").get_Attributes();
// Prints the description by retrieving the CategoryAttribute.
// from the AttributeCollection.
CategoryAttribute myAttribute = (CategoryAttribute)(
attributes.get_Item(CategoryAttribute.class.ToType()));
Console.WriteLine(myAttribute.get_Category());
Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.