Especifica el nombre de la categoría en la que se agrupa la propiedad o el evento cuando se muestra en un control de
PropertyGrid establecido en el modo Por categorías.
Espacio de nombres: System.ComponentModel
Ensamblado: System (en system.dll)
Visual Basic (Declaración)
<AttributeUsageAttribute(AttributeTargets.All)> _
Public Class CategoryAttribute
Inherits Attribute
Dim instance As CategoryAttribute
[AttributeUsageAttribute(AttributeTargets.All)]
public class CategoryAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)]
public ref class CategoryAttribute : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */
public class CategoryAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All)
public class CategoryAttribute extends Attribute
CategoryAttribute indica la categoría a la que se va a asociar la propiedad o el evento asociado cuando se muestran propiedades o eventos en un control de PropertyGrid establecido en el modo Categorized. Si no se ha aplicado CategoryAttribute a una propiedad o un evento, el objeto PropertyGrid los asocia a la categoría Misc. Se puede crear una nueva categoría para cualquier nombre especificando el nombre de la categoría en el constructor de CategoryAttribute.
La propiedad Category indica el nombre de la categoría que representa el atributo. La propiedad Category también proporciona una localización clara de los nombres de categoría.
Notas para los herederos
Si utiliza nombres de categoría diferentes a los predefinidos y desea traducir a otros idiomas esos nombres de categoría, deberá reemplazar el método GetLocalizedString. También es posible reemplazar la propiedad Category para programar de manera personalizada la adaptación a otros idiomas de los nombres de categoría.
La clase CategoryAttribute define las siguientes categorías comunes:
| Categoría | Descripción |
| Action | Propiedades relacionadas con las acciones disponibles. |
| Appearance | Propiedades relacionadas con la forma en que aparece una entidad. |
| Behavior | Propiedades relacionadas con la forma en que actúa una entidad. |
| Data | Propiedades relacionadas con la administración de datos y orígenes de datos. |
| Default | Propiedades que se agrupan en una categoría predeterminada. |
| Design | Propiedades que sólo están disponibles en tiempo de diseño. |
| DragDrop | Propiedades relacionadas con las operaciones de arrastrar y colocar. |
| Focus | Propiedades relacionadas con el foco. |
| Format | Propiedades relacionadas con el formato. |
| Key | Propiedades relacionadas con el teclado. |
| Layout | Propiedades relacionadas con el diseño. |
| Mouse | Propiedades relacionadas con el mouse (ratón). |
| WindowStyle | Propiedades relacionadas con el estilo de ventana de los formularios de nivel superior. |
Para obtener más información, vea Información general sobre atributos y Extender metadatos mediante atributos.
En el siguiente ejemplo se crea la propiedad MyImage. La propiedad tiene dos atributos: DescriptionAttribute y 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
[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")]
System::Drawing::Image^ get()
{
// Insert code here.
return m_Image1;
}
void set( System::Drawing::Image^ )
{
// Insert code here.
}
}
/** @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
En el ejemplo siguiente se obtiene la categoría correspondiente a MyImage. Primero, el código obtiene PropertyDescriptorCollection con todas las propiedades del objeto. A continuación, el código utiliza un índice en PropertyDescriptorCollection para obtener MyImage. Después, devuelve los atributos de esta propiedad y los guarda en la variable attributes.
A continuación, el ejemplo imprime la categoría recuperando el atributo CategoryAttribute de la clase AttributeCollection y escribiéndolo en la pantalla de la consola.
' 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 =
(CategoryAttribute)attributes[typeof(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 );
// 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());
System.Object
System.Attribute
System.ComponentModel.CategoryAttribute
Seguridad para subprocesos
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.
.NET Framework
Compatible con: 2.0, 1.1, 1.0