Freigeben über


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

Action

Eigenschaften, die sich auf verfügbare Aktionen beziehen.

Appearance

Eigenschaften, die sich auf die Anzeige einer Entität beziehen.

Behavior

Eigenschaften, die sich auf das Verhalten einer Entität beziehen.

Data

Eigenschaften, die sich auf Daten und Datenquellenverwaltung beziehen.

Default

Eigenschaften, die in einer Standardkategorie gruppiert sind.

Design

Eigenschaften, die nur zur Entwurfszeit verfügbar sind.

DragDrop

Eigenschaften, die sich auf Drag & Drop-Vorgänge beziehen.

Focus

Eigenschaften, die sich auf den Fokus beziehen.

Format

Eigenschaften, die sich auf die Formatierung beziehen.

Key

Eigenschaften, die sich auf die Tastatur beziehen.

Layout

Eigenschaften, die sich auf das Layout beziehen.

Mouse

Eigenschaften, die sich auf die Maus beziehen.

WindowStyle

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.

Thema Position
Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Serversteuerelements Entwickeln von ASP.NET-Steuerelementen
Entwickeln von benutzerdefinierten datengebundenen Webserversteuerelementen für ASP.NET 1.1 Entwickeln von ASP.NET-Steuerelementen
Entwickeln von benutzerdefinierten datengebundenen Webserversteuerelementen für ASP.NET 2.0 Entwickeln von ASP.NET-Steuerelementen
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten datengebundenen ASP.NET-Websteuerelements für ASP.NET 2.0 Entwickeln von ASP.NET-Steuerelementen
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten datengebundenen ASP.NET-Websteuerelements für ASP.NET 1.1 Entwickeln von ASP.NET-Steuerelementen
Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Serversteuerelements Erstellen von Anwendungen mit Visual Web Developer
Entwickeln von benutzerdefinierten datengebundenen Webserversteuerelementen für ASP.NET 1.1 Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten datengebundenen ASP.NET-Websteuerelements für ASP.NET 1.1 Erstellen von ASP.NET-Webanwendungen in Visual Studio
Entwickeln von benutzerdefinierten datengebundenen Webserversteuerelementen für ASP.NET 2.0 Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten datengebundenen ASP.NET-Websteuerelements für ASP.NET 2.0 Erstellen von ASP.NET-Webanwendungen in Visual Studio
Entwickeln von benutzerdefinierten datengebundenen Webserversteuerelementen für ASP.NET 1.1 Erstellen von ASP.NET-Webanwendungen in Visual Studio
Entwickeln von benutzerdefinierten datengebundenen Webserversteuerelementen für ASP.NET 2.0 Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten datengebundenen ASP.NET-Websteuerelements für ASP.NET 2.0 Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten datengebundenen ASP.NET-Websteuerelements für ASP.NET 1.1 Erstellen von ASP.NET-Webanwendungen in Visual Studio

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