Condividi tramite


Classe DialogPage

Fornisce una funzionalità standard della finestra di dialogo per implementare le finestre delle proprietà di Casella degli strumenti , le pagine di strumentiopzioni , o le finestre di dialogo personalizzate dell'interfaccia utente, con supporto per il modello di automazione di Visual Studio , a Windows Form e alla persistenza di stato utilizzando il meccanismo delle impostazioni di Visual Studio .

Gerarchia di ereditarietà

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      Microsoft.VisualStudio.Shell.DialogPage
        Microsoft.VisualStudio.Shell.UIElementDialogPage

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

Sintassi

'Dichiarazione
<ComVisibleAttribute(True)> _
Public Class DialogPage _
    Inherits Component _
    Implements IWin32Window, IProfileManager
[ComVisibleAttribute(true)]
public class DialogPage : Component, IWin32Window, 
    IProfileManager

Il tipo DialogPage espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico DialogPage inizializza una nuova istanza di DialogPage.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica AutomationObject Ottiene l'oggetto del modello di automazione DTE per una determinata istanza di una classe della pagina della finestra di dialogo.
Proprietà protetta. CanRaiseEvents Ottiene un valore che indica se il componente può generare un evento. (Ereditato da Component)
Proprietà pubblica Container ottiene IContainer contenente Component. (Ereditato da Component)
Proprietà protetta. DesignMode ottiene un valore che indica se Component si trova in modalità progettazione. (Ereditato da Component)
Proprietà protetta. Events Ottiene l'elenco dei gestori eventi associati a questo Component. (Ereditato da Component)
Proprietà protetta. SettingsRegistryPath Ottiene o imposta la sottochiave nella radice la versione di Visual Studio per archiviare i dati delle impostazioni di una pagina della finestra di dialogo.
Proprietà pubblica Site Ottiene o imposta il sito della pagina della finestra di dialogo.esegue l'override l'implementazione ereditata da Component. (Esegue l'override di Component.Site).
Proprietà protetta. Window Ottiene la finestra utilizzata come l'interfaccia utente della pagina della finestra di dialogo.

In alto

Metodi

  Nome Descrizione
Metodo pubblico CreateObjRef Crea un oggetto che contiene tutte le informazioni rilevanti obbligatorio per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject)
Metodo pubblico Dispose() Libera tutte le risorse utilizzate da Component. (Ereditato da Component)
Metodo protetto Dispose(Boolean) Rilascia risorse non gestite utilizzate da una classe della pagina della finestra di dialogo e facoltativamente dealloca risorse gestite; la classe padre, Component supporta le risorse non gestite. (Esegue l'override di Component.Dispose(Boolean)).
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Rilascia risorse non gestite e l'esecuzione di altre operazioni di pulitura prima di Component viene recuperato dalla Garbage Collection. (Ereditato da Component)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetLifetimeService Recupera l'oggetto corrente del servizio di durata che controlla i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject)
Metodo protetto GetService Restituisce un oggetto che rappresenta un servizio fornito da Component o dal Container. (Ereditato da Component)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico InitializeLifetimeService Ottiene un oggetto di servizio di durata per controllare i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject)
Metodo pubblico LoadSettingsFromStorage Chiamato da Visual Studio per caricare le impostazioni di una pagina della finestra di dialogo da memoria locale, in genere il Registro di sistema.
Metodo pubblico LoadSettingsFromXml Chiamato da Visual Studio per caricare le impostazioni di una pagina della finestra di dialogo dall'archiviazione delle impostazioni di Visual Studio su disco.
Metodo protetto MemberwiseClone() Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone(Boolean) Crea una copia superficiale corrente MarshalByRefObject oggetto. (Ereditato da MarshalByRefObject)
Metodo protetto OnActivate Messaggi di Activate delle finestre di handle di l Visual Studio .
Metodo protetto OnApply Gestisce i messaggi di Apply dall'ambiente di Visual Studio .
Metodo protetto OnClosed Gestisce i messaggi di Close dall'ambiente di Visual Studio .
Metodo protetto OnDeactivate Gestisce i messaggi di Deactive dall'ambiente di Visual Studio .
Metodo pubblico ResetSettings Deve essere sottoposto a override per reimpostare le impostazioni sui valori predefiniti.
Metodo pubblico SaveSettingsToStorage Chiamato da Visual Studio per archiviare le impostazioni di una pagina della finestra di dialogo nella memoria locale, in genere il Registro di sistema.
Metodo pubblico SaveSettingsToXml Chiamato da Visual Studio per archiviare le impostazioni di una pagina della finestra di dialogo l'archiviazione delle impostazioni di Visual Studio su disco.
Metodo pubblico ToString Restituisce un oggetto String contenere il nome Component, se presente.Questo metodo non deve essere sottoposto a override. (Ereditato da Component)

In alto

Eventi

  Nome Descrizione
Evento pubblico Disposed Si verifica quando il componente viene eliminato da una chiamata a Dispose metodo. (Ereditato da Component)

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaProprietà privata IWin32Window.Handle Ottiene un handle di finestra della pagina della finestra di dialogo.

In alto

Note

Note per gli implementatori

Implementazione delle classi derivate da DialogPage quando si crea una finestra di dialogo dell'utente, specialmente una pagina di Opzioni degli strumenti o una pagina delle proprietà di Casella degli strumenti .

Note per i chiamanti

L'implementazione più semplice di DialogPage richiede solo la definizione di proprietà pubbliche nella classe di implementazione.I tipi di proprietà devono supportare la conversione da e in stringhe con TypeConverter.

L'implementazione di base di DialogPage fornisce i gestori predefiniti per gli eventi di Windows standard e implementa Component, IWin32Windowe IProfileManager.

Le classi derivate da DialogPage includono quanto segue:

  • Supporto automatico al componente che condivide tramite il modello a oggetti di automazione di Visual Studio DTE.

    • Qualsiasi istanza di DialogPage è un oggetto ActiveX, poiché la classe eredita l'implementazione dell'interfaccia di Component .

    • Applicazioni che devono accedere all'oggetto ActiveX dell'utilizzo della classe la proprietà di AutomationObject .

      La proprietà di AutomationObject restituisce this (Me in Visual Basic), perché l'implementazione di DialogPage è già un oggetto di automazione per impostazione predefinita.

    • Un'implementazione di DialogPage può offrire un oggetto di automazione diverso da se stesso override l'implementazione di base di AutomationObject .Ad esempio, questo può avvenire per fornire l'interfaccia utente separata e i modelli a oggetti.

  • Il supporto di per il meccanismo delle impostazioni di Visual Studio , in base alle proprietà pubbliche dell'oggetto ActiveX della classe derivata.

    • Per un oggetto derivato da DialogPage per fornire la persistenza, deve essere registrato tramite ProvideProfileAttribute.

    • i tipi derivati da DialogPage ereditano un'implementazione predefinita di persistenza di IProfileManager.

    • L'implementazione predefinita persiste tutte le proprietà pubbliche dell'oggetto ActiveX della classe dervied, che è l'oggetto restituito da AutomationObject e che supporta la conversione da e in stringhe con TypeConverter.

    • Questo comportamento può essere modificato mediante l'override dell'entity_M:Microsoft.VisualStudio.Shell.IProfileManager.LoadSettingsFromXml(Microsoft.VisualStudio.Shell.Interop.IVsSettingsReader)

  • Un'interfaccia utente predefinita basata sulle proprietà pubbliche dell'oggetto ActiveX della classe derivata.

    • Per un'implementazione della pagina della finestra di dialogo di fornire una pagina di Opzioni degli strumenti , deve essere registrata utilizzando ProvideOptionPageAttribute.

    • Per un'implementazione della pagina della finestra di dialogo di fornire una pagina della finestra di dialogo di Casella degli strumenti , deve essere registrata utilizzando ProvideToolboxPageAttribute.

    • Le pagine della finestra di dialogo utilizzano Window per restituire IWin32Window, che fornisce un handle di finestra che fornisce l'interfaccia utente della classe.

    • Per impostazione predefinita, la finestra da cui viene fatto riferimento da Window è una griglia della proprietà, che viene implementata da un'istanza di PropertyGrid selezionando l'oggetto ActiveX.

    • La classe base di DialogPage utilizza la propria implementazione di AutomationObject per ottenere l'oggetto ActiveX della classe e le proprietà pubbliche dell'oggetto ActiveX.

    • Le modifiche alle proprietà pubbliche apportate mediante l'interfaccia utente di una pagina della finestra di dialogo vengono salvate automaticamente alla memoria locale (in genere il Registro di sistema) da una chiamata al metodo di SaveSettingsToStorage .

    • Un'implementazione della pagina della finestra di dialogo può modificare la relativa interfaccia utente eseguendo l'override di Window.

[!NOTA]

In genere, un'istanza di una classe della pagina della finestra di dialogo è il proprio oggetto ActiveX.Di conseguenza, le proprietà rese persistenti o visualizzati sono quelle della classe derivata da DialogPage.Tuttavia, se AutomationObject restituisce un altro oggetto, è che le proprietà dell'oggetto, non la classe, che vengono salvate in modo permanente o visualizzare.

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

IProfileManager

Component

PropertyGrid

IWin32Window

Altre risorse

Estensione del modello di automazione

pagine di opzioni

Casella degli strumenti (Visual Studio SDK)

persistenza di stato e l'IDE di Visual Studio

Estensione dell'ambiente Visual Studio