Comandos de Designer e o modelo de objeto DesignerAction para Windows Forms
Comandos do Designer e o modelo de objeto DesignerAction fornecem uma maneira generalizada para que você especifique um conjunto de ações para um componente no time de design.Os usuários, em seguida, acessar essas ações de área de design, geralmente clicando em um componente SMART-marca glifo () e selecionando uma das ações de oferecido a SMART-painel de marcas. Esse modelo unifica as várias maneiras de que um designer pode oferecer comandos aos usuários.
Marcas inteligentes
O recurso de marca SMART permite que componentes e controles para exibir informações sensíveis ao contexto e comandos para os usuários.A marca SMART pode ser pensada sistema autônomo uma substituição para verbos do designer, porque você pode escolher exibir um item de marca SMART no painel de marcas inteligentes e também no menu de atalho associado a um componente ou controle.
Para obter um exemplo completo de como você pode implementar as Rótulos inteligentes, consulte Como: Anexar SMART Rótulos a um componente do Windows Forms.
Classes de comando Designer
A tabela a seguir descreve as maneiras como comandos designer são expostos a você quando você está desenvolvendo componentes e controles.
Classe |
Descrição |
---|---|
Um delegado conectado a uma ID de comando.Ele não define o texto de comando, seu posicionamento ou outros metadados. |
|
Um comando de menu também define seu texto e outros metadados.Verbos geralmente são oferecidos em uma base por designer e são específicos ao designer.Verbos do Designer geralmente são mostrados em um menu de atalho ou sobre o Modo de exibição menu da BAR de menus principal. |
|
Um comando de menu que define o texto e outros metadados para descrever uma ação de destino que pode ser executada.Ações geralmente orientá-lo ao usuário através de algum processo em várias etapas, sistema autônomo configurar uma fonte de dados para um componente. |
Modelos de pull e push
A tabela a seguir mostra os dois modelos para programaticamente acessar comandos designer.
Modelo |
Descrição |
---|---|
push |
Um designer especificamente solicita um serviço e adiciona comandos ao serviço. |
pull |
Um designer é consultado por um serviço para comandos que ele oferece. |
Unificar comandos existentes
Há muito em comum entre os tipos de comandos listados na tabela anterior das classes de designer de comando.A API DesignerAction traz esses juntos para apresentar um modelo uniforme para expor comandos para os usuários de um designer.
Observação: |
---|
Nem todos os designers oferecem suporte a todos os modelos.Um designer pode consultar os tipos de suporte são oferecidos e resposta pode alterar oferece comandos.Além disso, os modelos de push e pull talvez não haja suporte para todos os tipos de comandos.Nem todos sistema autônomo designers irão expor designer ações sistema autônomo SMART Rótulos.Por exemplo, alguns designers podem expor designer ações em uma janela de ferramentas. |
Modelo de objeto DesignerAction
A tabela a seguir descreve as classes importantes que implementam o modelo de objeto DesignerAction.
Classe |
Descrição |
---|---|
Representa um item de painel em inteligente-marca painel. |
|
Define uma lista de itens usado para criar um smart-marca painel. |
|
Estabelece um serviço de time de design que gerencia a coleção de DesignerActionItem objetos de componentes. |
|
Representa um item de texto estático em um painel.Deriva de DesignerActionItem. |
|
Representa um item de painel que está associado uma propriedade em uma classe derivada de DesignerActionList. Deriva de DesignerActionItem. |
|
Representa um item de painel que está associado um método em uma classe derivada de DesignerActionList. Deriva de DesignerActionItem. |
|
Representa um item de cabeçalho estático em inteligente-marca painel.Deriva de DesignerActionTextItem. |
Usando o modelo de objeto DesignerAction
Para ativar ações de designer para seu componente ou controle, derivam o DesignerActionList classe base. Usar essa classe derivada para popular um SMART - painel de marca, que representa o menu - como a interface do usuário.
Your derived class may override the virtualGetSortedActionItems method to return a collection of objects derived from DesignerActionItem.Esses objetos representam os itens do painel.Cada item é exibido no painel de acordo com a seu tipo.Por exemplo, um DesignerActionTextItem é exibido sistema autônomo um rótulo de texto estático. Itens de painel ativo, representados pelo DesignerActionPropertyItem e DesignerActionMethodItem tipos, têm uma propriedade correspondente acessível publicamente ou método, respectivamente, que implementa a funcionalidade desse item.
Após a criação de sua classe derivada, você pode adicionar a um controle de duas maneiras:
Com o modelo de pull, você deve adicionar uma instância da sua classe derivada à ActionLists propriedade no ComponentDesigner classe. Isso fornece uma maneira de herança de classes para fornecer outras listas de ação e seus itens a serem mesclados.
Com o modelo de push, você chamar Add Para adicionar uma instância da classe derivada à coleção mantida pelo modelo global DesignerActionService. Essas listas de ação serão mescladas com aqueles na coleção mantida por ComponentDesigner.
A DesignerActionPropertyItem é representado no designer por seu correspondente UITypeEditor. A DesignerActionMethodItem é representado no designer por um elemento de interface do usuário ativo, sistema autônomo um hiperlink, que invoca um método fornecido pelo programador. Seu ação implementação da lista do GetSortedActionItems método retorna as propriedades e métodos na ordem que devem ser exibidas no painel de marcas inteligentes.
Para obter um exemplo completo de implementação de Rótulos inteligentes, consulte o tópico Como: Anexar SMART Rótulos a um componente do Windows Forms.
Verbos existentes na lista de ação
Controles e componentes com existentes DesignerVerb implementações de recebem automaticamente DesignerActionList suporte. O ambiente de design de consulta o designer do componente para um ação lista, e se nenhum estiver disponível, um é criado para verbos existentes.
ação Lista itens de menu de atalho
Se você deseja que um item aparecem no menu de atalho e uma lista de ações, você pode especificar o IncludeAsDesignerVerb sinalizar em DesignerActionMethodItem.
Quando Add é chamado, a ação de lista é examinada para qualquer DesignerActionMethodItem com o IncludeAsDesignerVerb sinalizar conjunto. Se ele estiver definido, a AddVerb método será chamado para o item Adicionar que a verbos do componente e, portanto, seu menu de atalho.
Alterações em tipos de comando do Designer
The MenuCommand e DesignerVerb classes do .NET estrutura versão 1.1 foram alterados para dar suporte ao modelo de objeto DesignerAction ligeiramente. Ambos os tipos agora expõem uma nova propriedade chamada Properties, que é um IDictionary que armazena todas as propriedades públicas para o objeto de comando. A chave de dicionário é o nome da propriedade pública.Isso habilita genérica enumeração das propriedades e oferece uma base consistente na qual novas propriedades podem ser adicionadas sem modificar a definição de classe.
Além disso, a MenuCommandService classe fornece uma implementação padrão das IMenuCommandService e realiza a integração correta de verbo. Essa classe dispara eventos notificando de adições e remoções comandos.Com essa classe, você pode criar uma interface do usuário com base nos resultados desses eventos.MenuCommandService, bem sistema autônomo IMenuCommandService, estão disponível no contêiner de serviços.
Consulte também
Tarefas
Como: Anexar SMART Rótulos a um componente do Windows Forms