Freigeben über


DesignerCategoryAttribute-Klasse

Gibt an, dass der Designer für eine Klasse zu einer bestimmten Kategorie gehört.

Namespace: System.ComponentModel
Assembly: System (in system.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple:=False, Inherited:=True)> _
Public NotInheritable Class DesignerCategoryAttribute
    Inherits Attribute
'Usage
Dim instance As DesignerCategoryAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=true)] 
public sealed class DesignerCategoryAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple=false, Inherited=true)] 
public ref class DesignerCategoryAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=true) */ 
public final class DesignerCategoryAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=true) 
public final class DesignerCategoryAttribute extends Attribute

Hinweise

Ein visueller Designer kann mithilfe einer Designerkategorie einer Entwicklungsumgebung mitteilen, welcher Designertyp implementiert wird. Wenn für eine Klasse keine Designerkategorie bereitgestellt wird, kann eine Entwicklungsumgebung den Entwurf der Klasse zulassen oder verweigern. Eine Kategorie kann für jeden beliebigen Namen erstellt werden.

Wenn Sie eine Klasse mit diesem Attribut kennzeichnen, wird es auf einen konstanten Member festgelegt. Wenn Sie den Wert dieses Attributs im Code überprüfen möchten, müssen Sie den konstanten Member angeben. In der Spalte Beschreibung in der folgenden Tabelle werden die konstanten Member aufgeführt, auf die die jeweiligen Werte festgelegt werden.

Die DesignerCategoryAttribute-Klasse definiert die folgenden allgemeinen Kategorien:

Kategorie

Beschreibung

Komponente

Designer, die mit Komponenten verwendet werden. Das Attribut wird auf den konstanten Member DesignerCategoryAttribute.Component festgelegt.

Form

Designer, die mit Formularen verwendet werden. Das Attribut wird auf den konstanten Member DesignerCategoryAttribute.Form festgelegt.

Designer

Designer, die mit Designern verwendet werden. Das Attribut wird auf den konstanten Member DesignerCategoryAttribute.Generic festgelegt.

Leere Zeichenfolge ("")

Dies ist die Standardkategorie.

Weitere Informationen finden Sie unter Übersicht über Attribute und unter Erweitern von Metadaten mithilfe von Attributen.

Beispiel

Im folgenden Beispiel wird eine Klasse MyForm erstellt. MyForm besitzt zwei Attribute: ein DesignerAttribute, das angibt, dass diese Klasse DocumentDesigner verwendet, und ein DesignerCategoryAttribute, das die Form-Kategorie angibt.

<Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design", _
    GetType(IRootDesigner)), DesignerCategory("Form")> _
Public Class MyForm
    
    Inherits ContainerControl
    ' Insert code here.
End Class 'MyForm
[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design", 
    typeof(IRootDesigner)),
    DesignerCategory("Form")]
    
 public class MyForm : ContainerControl {
    // Insert code here.
 }
[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design",
IRootDesigner::typeid),
DesignerCategory("Form")]
ref class MyForm: public ContainerControl{
   // Insert code here.
};
/** @attribute Designer("System.Windows.Forms.Design.DocumentDesigner, "
    + "System.Windows.Forms.Design", IRootDesigner.class)
    @attribute DesignerCategory("Form")
 */
public static class MyForm extends ContainerControl
{
    // Insert code here.
} //MyForm

Im folgenden Beispiel wird eine Instanz von MyForm erstellt. Anschließend werden die Attribute für die Klasse abgerufen, DesignerCategoryAttribute extrahiert und der Name des Designers ausgegeben.

Public Shared Function Main() As Integer
    ' Creates a new form.
    Dim myNewForm As New MyForm()
    
    ' Gets the attributes for the collection.
    Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewForm)
    
    ' Prints the name of the designer by retrieving the
    ' DesignerCategoryAttribute from the AttributeCollection. 
    Dim myAttribute As DesignerCategoryAttribute = _
        CType(attributes(GetType(DesignerCategoryAttribute)), DesignerCategoryAttribute)
    Console.WriteLine(("The category of the designer for this class is: " + myAttribute.Category))
    Return 0
End Function 'Main
public static int Main() {
    // Creates a new form.
    MyForm myNewForm = new MyForm();
 
    // Gets the attributes for the collection.
    AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewForm);
 
    /* Prints the name of the designer by retrieving the 
     * DesignerCategoryAttribute from the AttributeCollection. */
    DesignerCategoryAttribute myAttribute = 
       (DesignerCategoryAttribute)attributes[typeof(DesignerCategoryAttribute)];
    Console.WriteLine("The category of the designer for this class is: " + myAttribute.Category);
  
    return 0;
}
int main()
{
   // Creates a new form.
   MyForm^ myNewForm = gcnew MyForm;

   // Gets the attributes for the collection.
   AttributeCollection^ attributes = TypeDescriptor::GetAttributes( myNewForm );

   /* Prints the name of the designer by retrieving the 
       * DesignerCategoryAttribute from the AttributeCollection. */
   DesignerCategoryAttribute^ myAttribute = dynamic_cast<DesignerCategoryAttribute^>(attributes[ DesignerCategoryAttribute::typeid ]);
   Console::WriteLine( "The category of the designer for this class is: {0}", myAttribute->Category );
   return 0;
}
public static void main(String[] args)
{
    // Creates a new form.
    MyForm myNewForm = new MyForm();

    // Gets the attributes for the collection.
    AttributeCollection attributes = 
        TypeDescriptor.GetAttributes(myNewForm);

    /* Prints the name of the designer by retrieving the 
       DesignerCategoryAttribute from the AttributeCollection. 
     */
    DesignerCategoryAttribute myAttribute = (DesignerCategoryAttribute)(
        attributes.get_Item(DesignerCategoryAttribute.class.ToType()));

    Console.WriteLine("The category of the designer " 
        + "for this class is: " + myAttribute.get_Category());
} //main

Vererbungshierarchie

System.Object
   System.Attribute
    System.ComponentModel.DesignerCategoryAttribute

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 CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, 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

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

DesignerCategoryAttribute-Member
System.ComponentModel-Namespace
Attribute
DesignerAttribute-Klasse