DialogPage Classe

Definição

Fornece uma funcionalidade de caixa de diálogo padrão para implementar folhas de propriedades, Ferramentasoptions ou caixas de diálogo de interface do usuário personalizadas, com suporte para o modelo de automação do Visual Studio, Windows Forms e persistência de estado usando o mecanismo de configurações do Visual Studio.

public ref class DialogPage : System::ComponentModel::Component, Microsoft::VisualStudio::Shell::IProfileManager, System::Windows::Forms::IWin32Window
[System.Runtime.InteropServices.ComVisible(true)]
public class DialogPage : System.ComponentModel.Component, Microsoft.VisualStudio.Shell.IProfileManager, System.Windows.Forms.IWin32Window
[<System.Runtime.InteropServices.ComVisible(true)>]
type DialogPage = class
    inherit Component
    interface IWin32Window
    interface IProfileManager
Public Class DialogPage
Inherits Component
Implements IProfileManager, IWin32Window
Herança
DialogPage
Derivado
Atributos
Implementações

Comentários

Notas para implementadores

Implemente classes derivadas de DialogPage quando você cria uma caixa de diálogo de usuário, especialmente uma página de Opções de ferramentas ou uma página de propriedades da caixa de ferramentas .

Observações para chamadores

A implementação mais simples do DialogPage requer apenas a definição de propriedades públicas na classe de implementação. Os tipos de propriedade devem dar suporte à conversão de e para cadeias de caracteres por meio de TypeConverter .

A implementação base de DialogPage fornece manipuladores padrão para eventos padrão do Windows e implementa o Component , o IWin32Window e o IProfileManager .

Classes derivadas de DialogPage têm o seguinte:

  • Suporte automático para compartilhamento de componentes por meio do Visual Studio modelo de objeto de automação do DTE.

    • Qualquer instância do DialogPage é um objeto de automação, porque a classe herda a Component implementação da interface.

    • Os aplicativos que devem acessar o objeto Automation da classe usam a AutomationObject propriedade.

      A AutomationObject propriedade retorna this ( Me in Visual Basic ), porque a implementação de DialogPage já é um objeto de automação por padrão.

    • Uma implementação do DialogPage pode oferecer um objeto de automação diferente de si mesmo substituindo a AutomationObject implementação base. Por exemplo, isso pode ser feito para fornecer uma interface do usuário separada e os modelos de objeto.

  • Suporte para o Visual Studio mecanismo de configurações, com base nas propriedades públicas do objeto Automation da classe derivada.

  • Uma interface do usuário padrão baseada nas propriedades públicas do objeto Automation da classe derivada.

    • Para uma implementação de página de diálogo para fornecer uma página de Opções de ferramentas , ela deve ser registrada usando o ProvideOptionPageAttribute .

    • Para uma implementação de página de caixa de diálogo fornecer uma página de caixa de ferramentas , ela deve ser registrada usando o ProvideToolboxPageAttribute .

    • As páginas de diálogo usam Window para retornar um IWin32Window , que fornece um identificador para a janela que fornece a interface do usuário da classe.

    • Por padrão, a janela que é referenciada pelo Window é uma grade de propriedades, que é implementada por uma instância do PropertyGrid selecionando o objeto Automation.

    • A DialogPage classe base usa sua implementação de AutomationObject para obter o objeto de automação da classe e as propriedades públicas desse objeto de automação.

    • As alterações nas propriedades públicas feitas por meio da interface do usuário de uma página da caixa de diálogo são salvas automaticamente no armazenamento local (normalmente o registro) por uma chamada para o SaveSettingsToStorage método.

    • Uma implementação de página de diálogo pode alterar sua interface do usuário substituindo Window .

Observação

Normalmente, uma instância de uma classe de página de diálogo é seu próprio objeto de automação. Portanto, as propriedades que são persistentes ou exibidas são aquelas da classe derivada de DialogPage . No entanto, se AutomationObject o retornar outro objeto, será as propriedades do objeto, e não as classes, que serão persistentes ou exibidas.

Construtores

DialogPage()

Inicializa uma nova instância de DialogPage.

DialogPage(JoinableTaskContext)

Cria uma instância de DialogPage.

DialogPage(JoinableTaskContext, ISettingsManager3)

Cria uma instância de DialogPage.

Propriedades

AutomationObject

Obtém o objeto de modelo de automação do DTE para uma determinada instância de uma classe de página de diálogo.

CancellationToken
DpiMode
SettingsRegistryPath

Obtém ou define a subchave sob a raiz específica da versão do Visual Studio para armazenar dados de configuração para uma página de diálogo.

SharedSettingsStorePath

Obtém o local onde as configurações são armazenadas no repositório de configurações compartilhadas. Ele se baseia em SharedSettingsAttribute em seu AutomationObject ou no nome completo do tipo se o atributo não for especificado.

Site

Obtém ou define o site da página da caixa de diálogo. Substitui a implementação herdada de Component .

Window

Obtém a janela usada como interface do usuário da página da caixa de diálogo.

Métodos

Dispose(Boolean)

Libera os recursos não gerenciados que são usados por uma classe de página de diálogo e, opcionalmente, libera os recursos gerenciados; a classe pai Component oferece suporte a recursos não gerenciados.

DoCancelableOperationWithProgressUI(Action, String)

Executa uma operação com a interface do usuário de progresso cancelável se for invocada no thread da interface do usuário quando a caixa de diálogo de opções estiver aberta.

DoCancelableOperationWithProgressUI(Func<CancellationToken,Task>, String)
FinishPendingWorkAsync()
GetDefaultPropertyValue(PropertyDescriptor)
GetDpiAwareObject()
GetSharedSettingsStorePath(PropertyDescriptor)

Retorna o caminho do repositório de configurações compartilhadas para a propriedade fornecida.

IsPropertyValueMachineLocal(PropertyDescriptor, Object, String)

Retorna se um determinado valor de uma propriedade em AutomationObject é local neste computador (vs. sendo móvel para outros computadores)

LoadSettingFromStorage(PropertyDescriptor)
LoadSettingsFromStorage()

Chamado pelo Visual Studio para carregar as configurações de uma página de diálogo do armazenamento local, geralmente o registro.

LoadSettingsFromXml(IVsSettingsReader)

Chamado pelo Visual Studio para carregar as configurações de uma página de diálogo do armazenamento de configurações do Visual Studio em disco.

MapSerializablePropertyDescriptor(PropertyDescriptor, Object, PropertyDescriptor)

Permite que uma propriedade diferente seja observada para alterações, em vez da propriedade descrita por descriptor no AutomationObject .

OnActivate(CancelEventArgs)

Lida Activate com mensagens do Windows a partir do ambiente do Visual Studio.

OnApply(DialogPage+PageApplyEventArgs)

Lida Apply com mensagens do ambiente do Visual Studio.

OnClosed(EventArgs)

Lida Close com mensagens do ambiente do Visual Studio.

OnDeactivate(CancelEventArgs)

Lida Deactive com mensagens do ambiente do Visual Studio.

ResetSettings()

Deve ser substituído para redefinir as configurações para seus valores padrão.

SaveSetting(PropertyDescriptor)
SaveSettingsToStorage()

Chamado pelo Visual Studio para armazenar as configurações de uma página de diálogo no armazenamento local, normalmente o registro.

SaveSettingsToXml(IVsSettingsWriter)

Chamado pelo Visual Studio para armazenar as configurações de uma página de diálogo para o armazenamento de configurações do Visual Studio em disco.

Implantações explícitas de interface

IWin32Window.Handle

Aplica-se a