Compartilhar via


time de design arquitetura

A ilustração a seguir fornece uma visão geral da arquitetura de time de design do .NET estrutura.

O .NET estrutura fornece interfaces e classes para personalizar interfaces de comportamento e usuário do componente em um ambiente de time de design.Geralmente, um ambiente de time de design inclui um designer de formulários para organizar os componentes e um pesquisador de propriedades para configurar os valores das propriedades do componente.Um ambiente de time de design normalmente também fornece serviços de time de design que podem ser acessados e usados pelos mecanismos de time de design.

O .NET estrutura define as interfaces que os desenvolvedores podem usar para implementar suporte em time de design personalizado.Os mecanismos primários do Estendendo suporte em time de design se encontram em categorias a seguir: os designers, conversores de tipo e da interface do usuário tipo editores.Atributos são aplicados a tipos e digite membros para associá-los a esses provedores de suporte em time de design.

Atributos

Atributos de associar um tipo ou membro de tipo com uma classe que estende o comportamento em time de design.A DesignerAttribute associa um tipo de um designer. A TypeConverterAttribute associa um tipo ou membro de tipo de um conversor de tipos. An EditorAttribute associa um tipo ou membro de tipo com um editor de tipos de interface do usuário. Para obter mais informações sobre os atributos no .NET estrutura, consulte Atributos de tempo de design para componentes e Atributos e em time de design.

Designers

Um designer pode personalizar o comportamento de um componente no time de design, inclusive sua aparência, inicialização e interação com o usuário.Um designer pode adicionar, remover ou substituir propriedades listadas em um navegador de propriedade para um componente selecionado.Um designer pode fornecer métodos definidos pelo usuário que podem ser vinculados a determinados eventos do componente ou executados a partir de um comando de menu personalizado ou DesignerVerb. Um designer também pode usar os serviços fornecidos por um ambiente de time de design.Para obter mais informações sobre os designers, consulte Designers personalizados.

Conversores de tipo

Um conversor de tipo pode ser implementado para converter valores entre o tipo que é criado para oferecer suporte ao e outros tipos de dados que ele pode traduzir valores ou para.Um conversor de tipos também pode fornecer lógica para habilitar a configuração de uma propriedade dentro de um navegador de propriedade em time de design.Um conversor de tipos pode fornecer uma lista de valores padrão para uma propriedade do tipo oferece suporte ao time de design em um navegador de propriedade.Um conversor de tipos também pode produzir código de inicialização para inicializar uma propriedade em time de design.Para obter informações sobre como implementar um conversor de tipos, consulte Como: Implementar um conversor de tipo.

Editores de tipo de interface do usuário

Um editor de tipos de interface do usuário pode fornecer uma interface de usuário personalizada (UI) para editar o valor de uma propriedade e exibir uma representação do valor da propriedade em time de design.Um editor de tipos de interface do usuário é específica ao tipo e fornece uma interface de usuário para configurar as propriedades do tipo é criado para oferecer suporte ao ou tipos derivados que não têm uma substituição de atributo, em time de design.Um editor de tipos de interface do usuário pode exibir um formulário do Windows ou lista suspensa configuração interface para configurar uma propriedade.Para obter mais informações sobre como implementar um editor de tipos de interface do usuário, consulte Como: Implementar um editor de tipo de interface do usuário.

Observação:

Digite conversores e tipo de interface do usuário são editores usados ao time de design e em time de execução, enquanto os designers são usados somente no time de design.

Design-relacionados de tipos

As tabelas a seguir mostram algumas das importantes classes nos namespaces relacionados ao projeto.

sistema.desenho.Design

Type (Tipo)

Descrição

UITypeEditor

Fornece uma classe base que pode ser usada para implementar os editores de valor.

IToolboxService

Fornece métodos e propriedades para gerenciar e consultar o Caixa de ferramentas no ambiente de desenvolvimento.

ToolboxItem

Fornece uma implementação básica de um item de caixa de ferramentas.

sistema.ComponentModel.Design

Type (Tipo)

Descrição

DesignerActionList

Fornece a classe base para tipos que definem uma lista de itens usado para criar um painel de marcas inteligentes.

DesignSurface

Apresenta uma interface de usuário para a criação de componentes.

IDesigner

Fornece a estrutura básica para criar um designer personalizado.

IRootDesigner

Oferece suporte a tecnologias de exibição de design de nível de raiz.

IExtenderProviderService

Fornece uma interface para adicionar e remover extensor provedores em time de design.

UndoEngine

Especifica a funcionalidade desfazer/refazer genérico.

sistema.Windows.Forms.Design

Type (Tipo)

Descrição

IWindowsFormsEditorService

Fornece uma interface para editores de tipo de interface do usuário para exibir Windows Forms ou para exibir um controle em uma área por um suspensaPropertyGrid controle no modo de design.

ControlDesigner

Classe base designer para estender o comportamento do modo de design de um Control.

DocumentDesigner

Classe base designer para estender o comportamento do modo de design do e fornecendo um modo de exibição de modo de design de nível de raiz para um Control que oferece suporte a controles aninhados e recebe mensagens de rolar.

sistema.Windows.Forms.Design.Behavior

Type (Tipo)

Descrição

BehaviorService

Gerencia a interface do usuário no designer.

Behavior

Representa o Behavior objetos que são gerenciado por um BehaviorService.

Adorner

Gerencia uma coleção de interface do usuário relacionadas Glyph objetos. Esta classe não pode ser herdada.

Glyph

Representa uma entidade de interface de usuário único gerenciada por um Adorner.

Serviços de time de design

O .NET estrutura fornece um conjunto de serviços de time de design que podem estender os recursos do designer de.Esses serviços podem ser obtidos com o GetService método de um componente localizado no modo de design. Você pode adicionar seus próprios tipos de serviço que podem ser acessados dentro de um projeto do modo de design usando o AddService método para o IDesignerHost interface do serviço.

The IComponentChangeService interface permite que um designer receber notificações de quando os componentes são alterados, adicionados ou removidos do ambiente de time de design.

The IDesignerEventService interface permite que um designer receber notificações quando os designers são adicionados ou removidos do ambiente de time de design e notificações quando a seleção do componente corrente é alterada.

The IDesignerFilter interface permite que um designer adicionar a e filtrar o conjunto de propriedades exibidas em um navegador de propriedade para seu componente.

The IDesignerHost interface fornece uma interface para adicionar e recuperar serviços, manipulação de eventos relacionados ao estado designer, detectar se um designer é atualmente carregar e gerenciar componentes ou designer de transações. Transações de Designer permitem seqüências de ações a serem executadas em um modo que impede que o modo de exibição de time de design atualizar sua exibição até a conclusão de uma sequência de ações para melhorar o desempenho, ao mesmo time fornecendo um mecanismo para habilitar as ações do componente de uma transação a serem desfeitas e o estado anterior restaurado.

The IDesignerOptionService interface permite que um designer obter e conjunto os valores das propriedades listadas na grade de propriedade de Designer de Formulários do Windows acessível a partir do Opções item de menu localizado no Ferramentas menu no ambiente do Visual Studio.The DesignerOptionService classe estende a flexibilidade da consulta de opções.

The IDictionaryService interface permite que um designer usar uma coleção com chave de dados definidos pelo usuário e pares de chaves que podem ser acessados por chave ou valor.

The IEventBindingService interface permite que um designer expõe eventos de um componente em um navegador de propriedade em time de design enquanto o componente está selecionado.

The IExtenderListService interface permite que um designer obter os provedores de extensor atualmente ativo no ambiente de time de design. The IExtenderProviderService interface permite que um designer adicionar ou remover extensor provedores em time de design.

The IHelpService interface permite que um designer criar e remover contextos do serviço de Ajuda, criar e remover atributos de contexto de ajuda e exibir os tópicos da Ajuda por palavra-chave ou URL.

The IInheritanceService interface permite que um designer Pesquisar para componentes de classes derivadas e identificar os atributos de herança de cada.

The IMenuCommandService interface permite que um designer procurar, adicionar, remover ou chamar comandos de menu no ambiente de time de design.

The IReferenceService interface permite que um designer obter o nome de um objeto por referência, uma referência a um objeto por nome, uma referência para o pai de um componente especificado ou referências a objetos de um tipo especificado no projeto de modo de design corrente.

The IResourceService interface permite que um designer obter um recurso leitor ou gravador de recurso para um CultureInfo.

The IRootDesigner interface permite que um designer substituir o modo de exibição designer raiz com uma exibição do modo de exibição designer personalizado. The IRootDesigner a interface deve ser implementada pelo designer de um componente.

The ISelectionService interface permite que um designer para obter um conjunto de referências a componentes selecionados no momento, a seleção de um componente conjunto ou conjunto de componentes e para determinar se qualquer componente está selecionado.

The IServiceContainer interface permite que um designer adicionar ou remover serviços que podem ser usados por outros componentes ou designers.

The ITypeDescriptorFilterService interface permite que um componente ou para filtrar os atributos, eventos e propriedades expostas por qualquer componente no designer time de design. The ITypeDescriptorFilterService a interface deve ser implementada por uma classe que pode ser adicionada sistema autônomo um serviço usando o AddService método para o Site de um componente sited no modo de design.

The ITypeResolutionService interface permite que um designer adicionar uma referência a um assembly para o projeto, obtenha um tipo ou assembly por nome e obter o caminho de um assembly especificado.

The DesignerActionService e DesignerActionUIService classes implementam o recurso de marca SMART para designers personalizados. Para obter mais informações, consulte Comandos de Designer e o modelo de objeto DesignerAction para Windows Forms.

The BehaviorService gerencia a interface do usuário em um designer. Ele oferece uma maneira uniforme para manipular elementos de interface de usuário sistema autônomo eventos relacionados ao mouse, comandos de menu e operações de do tipo arrastar e soltar OLE em time de design.Para obter mais informações, consulte Visão geral do serviço de comportamento.

The CodeDomComponentSerializationService classe serializa um conjunto de componentes ou objetos serializáveis em um armazenamento de serialização. Para obter mais informações, consulte Designer serialização visão geral.

Consulte também

Tarefas

Como: Implementar um conversor de tipo

Como: Implementar um editor de tipo de interface do usuário

Como: Serviços de time de design de acesso

Como: Suporte ao time de design de acesso no Windows Forms

Conceitos

Atributos e em time de design

Comandos de Designer e o modelo de objeto DesignerAction para Windows Forms

Visão geral do serviço de comportamento

Designer serialização visão geral

Outros recursos

Estendendo suporte em tempo de design

Designers personalizados