DesignerCategoryAttribute Classe

Definizione

Specifica che la finestra di progettazione di una classe appartiene a una determinata categoria.

public ref class DesignerCategoryAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)]
public sealed class DesignerCategoryAttribute : Attribute
public sealed class DesignerCategoryAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)>]
type DesignerCategoryAttribute = class
    inherit Attribute
type DesignerCategoryAttribute = class
    inherit Attribute
Public NotInheritable Class DesignerCategoryAttribute
Inherits Attribute
Ereditarietà
DesignerCategoryAttribute
Attributi

Esempio

Nell'esempio seguente viene creata una classe denominata MyForm. MyForm ha due attributi, un DesignerAttribute oggetto che specifica questa classe usa , DocumentDesignere un DesignerCategoryAttribute oggetto che specifica la Form categoria.

[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design",
IRootDesigner::typeid),
DesignerCategory("Form")]
ref class MyForm: public ContainerControl{
   // Insert code here.
};
[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", _
    GetType(IRootDesigner)), DesignerCategory("Form")> _
Public Class MyForm
    
    Inherits ContainerControl
    ' Insert code here.
End Class

L'esempio successivo crea un'istanza di MyForm. Ottiene quindi gli attributi per la classe, estrae , DesignerCategoryAttributee stampa il nome della finestra di progettazione.

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 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;
}
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

Commenti

Una finestra di progettazione visiva può usare una categoria di progettazione per informare un ambiente di sviluppo del tipo di progettazione che verrà implementato. Se non viene fornita alcuna categoria di progettazione in una classe, un ambiente di sviluppo può o non consentire la progettazione della classe. È possibile creare una categoria per qualsiasi nome.

Quando si contrassegna una classe con questo attributo, viene impostata su un membro costante. Quando si vuole controllare il valore di questo attributo nel codice, è necessario specificare il membro costante. La colonna Description nella tabella seguente elenca il membro costante impostato su ogni valore.

La DesignerCategoryAttribute classe definisce le categorie comuni seguenti:

Category Descrizione
Componente Finestre di progettazione usate con i componenti. L'attributo è impostato sul membro DesignerCategoryAttribute.Componentcostante .
Form Finestre di progettazione usate con i moduli. L'attributo è impostato sul membro DesignerCategoryAttribute.Formcostante .
Designer Designer usati con le finestre di progettazione. L'attributo è impostato sul membro DesignerCategoryAttribute.Genericcostante .
Stringa vuota ("") Si tratta della categoria predefinita.

Per altre informazioni, vedere Attributi.

Costruttori

DesignerCategoryAttribute()

Consente di inizializzare una nuova istanza della classe DesignerCategoryAttribute con una stringa vuota ("").

DesignerCategoryAttribute(String)

Consente di inizializzare una nuova istanza della classe DesignerCategoryAttribute con il nome di categoria specificato.

Campi

Component

Specifica che in un componente contrassegnato con questa categoria viene utilizzata una finestra di progettazione componenti. Questo campo è di sola lettura.

Default

Specifica che un componente contrassegnato con questa categoria non può utilizzare una finestra di progettazione visiva. Questo campo static è di sola lettura.

Form

Specifica che in un componente contrassegnato con questa categoria viene utilizzata una finestra di progettazione form. Questo campo static è di sola lettura.

Generic

Specifica che in un componente contrassegnato con questa categoria viene utilizzata una finestra di progettazione generica. Questo campo static è di sola lettura.

Proprietà

Category

Ottiene il nome della categoria.

TypeId

Ottiene un identificatore univoco per questo attributo.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Specifica se il valore dell'oggetto specificato è uguale all'oggetto DesignOnlyAttribute corrente.

GetHashCode()

Restituisce il codice hash per l'istanza.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Determina se questo attributo è predefinito.

IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Vedi anche