CategoryAttribute-Klasse
Gibt den Namen der Kategorie an, in der die Eigenschaft oder das Ereignis bei der Anzeige in einem PropertyGrid-Steuerelement gruppiert werden soll, das auf den Modus Nach Kategorien festgelegt ist.
Namespace: System.ComponentModel
Assembly: System (in system.dll)
Syntax
'Declaration
<AttributeUsageAttribute(AttributeTargets.All)> _
Public Class CategoryAttribute
Inherits Attribute
'Usage
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
Hinweise
Ein CategoryAttribute gibt die Kategorie an, der die zugeordnete Eigenschaft oder das zugeordnete Ereignis zugeordnet werden soll, wenn Eigenschaften oder Ereignisse in einem PropertyGrid-Steuerelement aufgelistet werden, das auf den Modus Categorized festgelegt ist. Wenn ein CategoryAttribute nicht auf eine Eigenschaft oder ein Ereignis angewendet wurde, wird es von PropertyGrid der Kategorie Sonstiges zugeordnet. Für jeden Namen kann eine neue Kategorie erstellt werden, indem Sie den Namen der Kategorie im Konstruktor für das CategoryAttribute angeben.
Die Category-Eigenschaft gibt den Namen der Kategorie an, die das Attribut darstellt. Die Category-Eigenschaft ermöglicht außerdem eine transparente Lokalisierung von Kategorienamen.
Hinweise für Erben Wenn Sie andere Kategorienamen als die vordefinierten verwenden und die Kategorienamen lokalisieren möchten, müssen Sie die GetLocalizedString-Methode überschreiben. Sie können zusätzlich die Category-Eigenschaft überschreiben, um eine eigene Logik für die Lokalisierung bereitzustellen. Die CategoryAttribute-Klasse definiert die folgenden allgemeinen Kategorien:
Kategorie |
Beschreibung |
---|---|
Eigenschaften, die sich auf verfügbare Aktionen beziehen. |
|
Eigenschaften, die sich auf die Anzeige einer Entität beziehen. |
|
Eigenschaften, die sich auf das Verhalten einer Entität beziehen. |
|
Eigenschaften, die sich auf Daten und Datenquellenverwaltung beziehen. |
|
Eigenschaften, die in einer Standardkategorie gruppiert sind. |
|
Eigenschaften, die nur zur Entwurfszeit verfügbar sind. |
|
Eigenschaften, die sich auf Drag & Drop-Vorgänge beziehen. |
|
Eigenschaften, die sich auf den Fokus beziehen. |
|
Eigenschaften, die sich auf die Formatierung beziehen. |
|
Eigenschaften, die sich auf die Tastatur beziehen. |
|
Eigenschaften, die sich auf das Layout beziehen. |
|
Eigenschaften, die sich auf die Maus beziehen. |
|
Eigenschaften, die sich auf den Fensterstil für Formulare der obersten Ebene beziehen. |
Weitere Informationen finden Sie unter Übersicht über Attribute und Erweitern von Metadaten mithilfe von Attributen.
Beispiel
Im folgenden Beispiel wird die MyImage
-Eigenschaft erstellt. Die Eigenschaft verfügt über zwei Attribute: DescriptionAttribute und 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
Im nächsten Beispiel wird die Kategorie für MyImage
abgerufen. Zunächst wird im Code eine PropertyDescriptorCollection mit allen Eigenschaften für das Objekt abgerufen. Anschließend wird im Code MyImage
über einen Index der PropertyDescriptorCollection abgerufen. Die Attribute für diese Eigenschaft werden zurückgegeben und in der Variablen attributes
gespeichert.
Im Beispiel erfolgt dann die Ausgabe der Kategorie auf dem Konsolenbildschirm, indem CategoryAttribute aus AttributeCollection abgerufen wird.
' 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());
Vererbungshierarchie
System.Object
System.Attribute
System.ComponentModel.CategoryAttribute
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 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
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
CategoryAttribute-Member
System.ComponentModel-Namespace
Attribute
PropertyDescriptor
EventDescriptor