Classe DesignSurfaceExtension

La classe base per qualsiasi oggetto fornito da un VSPackage da chiamare dall'ambiente di Visual Studio sulla creazione della finestra di progettazione per personalizzare o estendere i servizi e i metadati forniti da qualsiasi implementazione di DesignSurface.

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Shell.Design.DesignSurfaceExtension

Spazio dei nomi:  Microsoft.VisualStudio.Shell.Design
Assembly:  Microsoft.VisualStudio.Shell.Design (in Microsoft.VisualStudio.Shell.Design.dll)

Sintassi

'Dichiarazione
<ComVisibleAttribute(True)> _
Public MustInherit Class DesignSurfaceExtension _
    Implements IDisposable
[ComVisibleAttribute(true)]
public abstract class DesignSurfaceExtension : IDisposable

Il tipo DesignSurfaceExtension espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto DesignSurfaceExtension Creare una nuova istanza della classe di DesignSurfaceExtension .

In alto

Proprietà

  Nome Descrizione
Proprietà protetta. Surface ottiene l'area di progettazione che questa estensione è stata inizializzata con.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Dispose() Elimina questo oggetto e le relative risorse.
Metodo protetto Dispose(Boolean) Elimina questo oggetto e le relative risorse.
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Elimina l'oggetto. (Esegue l'override di Object.Finalize()).
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico Initialize Inizializza l'estensione dell'area di progettazione.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico OnComponentCreated Questo metodo viene chiamato quando un nuovo componente verrà creato ma prima di tale componente viene aggiunto alla finestra di progettazione.
Metodo pubblico OnDesignerCreated(IDesigner) Obsoleta. Questo metodo viene chiamato quando una nuova finestra di progettazione viene creata.
Metodo pubblico OnDesignerCreated(IComponent, IDesigner, Boolean) Questo metodo viene chiamato quando una nuova finestra di progettazione viene creata.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Note

l'oggetto diDesignSurfaceExtension deve essere registrato con le seguenti istanze di Attribute applicate all'implementazione di Package di un package VS:

  • DesignSurfaceExtensionAttribute per notificare all'ambiente di Visual Studio tale implementazione di DesignSurfaceExtension ad esempio fornire la personalizzazione dell'area di progettazione durante il caricamento della finestra di progettazione.

  • ProvideObjectAttribute per indicare che il package VS fornisce le istanze di oggetti DesignSurfaceExtension .

  • ProvideServiceAttribute per indicare che l'implementazione di DesignSurfaceExtension è fornita dal package VS come servizio di Visual Studio SDK .

Un'applicazione già stata caricata dall'ambiente di Visual Studio possibile fornire la modifica dinamica dei servizi o dei metadati di una superficie della finestra di progettazione nell'area o la creazione di componenti gestendo l'evento di DesignerCreated .

Tuttavia, come Vspackage è necessaria caricata, un package non può essere caricato dall'ambiente di Visual Studio prima del caricamento di un'area di progettazione e pertanto non può sottoscrivere l'evento di DesignerCreated .

Per gestire questo problema, ogni volta che tutte le aree di progettazione o componente della finestra di progettazione viene creata, l'ambiente di Visual Studio crea istanze di DesignSurfaceExtension registrato e se le applica a l o al componente creata.

In questo modo si garantisce che la finestra di progettazione di un package VS inizia alle modifiche apportate correttamente viene eseguita e il package VS stesso viene caricato in base alle necessità.

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Shell.Design

DesignSurfaceExtensionAttribute

DesignSurface

IDesigner

IDesignerHost

Altre risorse

Estensione del supporto in fase di progettazione