Compartilhar via


Passo a passo: Criando um controle de caixa de ferramentas do Windows Forms

O modelo de controle de caixa de ferramentas do Windows Forms que está incluído na SDL do Visual Studio 2010 permite que você crie um controle que é automaticamente adicionado para o Toolbox quando a extensão está instalada. Esta explicação passo a passo mostra como usar o modelo para criar um controle de contador que você pode distribuir para outros usuários.

Pré-requisitos

Para concluir este passo a passo, você deve instalar o SDL do Visual Studio 2010.

Dica

Para obter mais informações sobre o SDK de Visual Studio, consulte Ampliando a visão geral de Visual Studio.Para descobrir como fazer o download do SDK do Visual Studio, consulte Visual Studio extensibilidade Developer Center no site do MSDN.

Localizando o modelo de controle de caixa de ferramentas do Windows Forms em Visual Studio

O modelo de controle de caixa de ferramentas do Windows Forms está disponível na Novo projeto caixa de diálogo, em Installed Templates, nos seguintes locais:

  • Visual Basic, extensibilidade. O idioma do projeto é Visual Basic.

  • Visual C#, extensibilidade. O idioma do projeto é C#.

Criando um projeto de controle de caixa de ferramentas do Windows Forms

O modelo de controle de caixa de ferramentas do Windows Forms cria um controle de usuário indefinido e fornece toda a funcionalidade necessária para adicionar o controle para o caixa de ferramentas.

Para criar o projeto

  1. No menu File, clique em New, e em seguida, clique em Project

  2. No Novo projeto caixa de diálogo, em Modelos instalados, expanda o nó de sua linguagem de programação preferida e selecione extensibilidade. Na lista de tipos de projeto, selecione Caixa de ferramentas de controle do Windows Forms.

  3. No nome , digite o nome que você deseja usar para o projeto. (Este passo a passo usa o nome contador.) Clique em OK.

    Isso cria uma solução que contém um controle de usuário, um atributo para colocar o controle no caixa de ferramentas, e um VSIX de manifesto de implantação. O nome caixa define o nome da solução e o nome do namespace, mas ele não define o nome do controle como ele aparece no caixa de ferramentas. Você irá definir que posteriormente na explicação.

Criar uma Interface do usuário para o controle

O contador controle requer dois controles filho: um Label para exibir a contagem atual e um Button para redefinir a contagem para 0. Não há outros controles filho são necessários porque os chamadores incrementará o contador programaticamente.

Para criar a interface do usuário

  1. Em Solution Explorer, clique duas vezes em ToolboxControl.cs para abri-lo no designer.

  2. Do caixa de ferramentas, arraste um rótulo controle para a superfície de design.

  3. Redimensionar o controle de usuário para 150 x 50 pixels e redimensionar o botão para 50 x 20 pixels.

  4. No Propriedades janela, defina os seguintes valores para os controles na superfície de design.

    Controle

    Propriedade

    Valor

    Label1

    Texto

    ""

    Button1

    Nome

    btnReset

    Button1

    Texto

    Reset

Codificar o controle de usuário

O contador controle irá expor um método para incrementar o contador, um evento a ser gerado sempre que o contador é incrementado, um Redefinir botão e três propriedades para armazenar o texto de exibição, a contagem atual e mostrar ou ocultar o Redefinir botão. O ProvideTolboxControl atributo determina onde na caixa de ferramentas a contador controle será exibido.

Para codificar o controle de usuário

  1. Clique duas vezes no formulário para abrir o seu manipulador de eventos de carga na janela de código.

  2. Acima do manipulador de eventos, crie um número inteiro para armazenar o valor do contador e uma seqüência de caracteres para armazenar o texto de exibição, como mostrado no exemplo a seguir.

    int currentValue;
    string displayText;
    
  3. Crie as seguintes declarações de propriedade pública.

    public int Value {
        get { return currentValue; } 
        }
    
    public string Message {
        get { return displayText; }
        set { displayText = value; }
    }
    
    public bool ShowReset {
        get { return btnReset.Visible; }
        set { btnReset.Visible = value; }
    }
    

    Os chamadores podem acessar essas propriedades para obter e definir o texto de exibição do contador e para mostrar ou ocultar o Redefinir botão. Os chamadores podem obter o valor atual do somente leitura Value propriedade, mas eles não podem definir o valor diretamente.

  4. Coloque o seguinte código na Load evento para o controle.

    private void ToolboxControl_Load(object sender, EventArgs e)
    {
        currentValue = 0;
        label1.Text = Message + Value;
    }
    

    Definindo o texto do rótulo na Load evento permite que as propriedades de destino carregar antes que os valores serão aplicados. O texto do rótulo no construtor, resultaria um rótulo vazio.

  5. Crie o seguinte método público para incrementar o contador.

    public void Increment()
    {
        currentValue++;
        label1.Text = displayText + Value;
        Incremented(this, EventArgs.Empty);
    }
    
  6. Adicionar uma declaração para o Incremented evento.

    public event EventHandler Incremented;
    

    Os chamadores podem adicionar manipuladores para esse evento para responder às alterações no valor do contador.

  7. Retornar ao modo de design e clique duas vezes o Redefinir botão para gerar o btnReset_Click o manipulador de eventos e preencha-o conforme mostrado no exemplo a seguir.

    private void btnReset_Click(object sender, EventArgs e)
    {
        currentValue = 0;
        label1.Text = displayText + Value;
    }
    
  8. Definição da classe, clique com o botão direito no nome de classe, clique em Refactor, clique em Renomeare, em seguida, altere o nome da classe para contador. Este é o nome que será exibido na caixa de ferramentas.

  9. Imediatamente acima da definição de classe, no ProvideToolboxControl a declaração de atributo, altere o valor do primeiro parâmetro de "Counter" para "General". Isso define o nome do grupo de itens que irá hospedar o controle no caixa de ferramentas.

    A exemplo a seguir mostra a ProvideToolboxControl atributo e a definição de classe ajustado.

    [ProvideToolboxControl("General", false)]
    public partial class Counter : UserControl
    

    O exemplo a seguir mostra o código para o controle de usuário concluída.

    using System;
    using System.Windows.Forms;
    
    namespace Counter
    {
        [ProvideToolboxControl("General", false)]
        public partial class Counter : UserControl
        {
            public Counter()
            {
                InitializeComponent();
            }
    
            private void btnReset_Click(object sender, EventArgs e)
            {
                currentValue = 0;
                label1.Text = displayText + Value;
            }
    
            int currentValue;
            string displayText;
    
            public int Value {
                get { return currentValue; } 
                }
    
            public string Message {
                get { return displayText; }
                set { displayText = value; }
            }
    
            public bool ShowReset {
                get { return btnReset.Visible; }
                set { btnReset.Visible = value; }
            }
    
            private void ToolboxControl_Load(object sender, EventArgs e)
            {
                currentValue = 0;
                label1.Text = Message + Value;
            }
    
            public void Increment()
            {
                currentValue++;
                label1.Text = displayText + Value;
                Incremented(this, EventArgs.Empty);
            }
    
            public event EventHandler Incremented;
        }
    }
    

Testando o controle

Para testar um caixa de ferramentas controle, primeiro testá-lo no ambiente de desenvolvimento e teste-o em um aplicativo compilado.

Para testar o controle

  1. Pressione F5.

    Isso cria o projeto e abre uma segunda instância do Visual Studio que tem o controle instalado.

  2. Na nova instância de Visual Studio, crie um projeto Windows Forms.

  3. Em Solution Explorer, clique duas vezes em Form1. cs para abri-lo no designer.

  4. No caixa de ferramentas, o contador controle deve ser exibido na Geral seção.

  5. Arraste um contador controle ao formulário e, em seguida, selecioná-lo. O Value, Message, e ShowReset propriedades serão exibidas na Propriedades janela, juntamente com as propriedades que são herdadas do UserControl.

  6. Definir o Message propriedade para contagem:.

  7. Arraste um Button o controle para o formulário e defina as propriedades de nome e o texto do botão de teste.

  8. Clique duas vezes no botão para abrir Form1. cs no modo de exibição de código e criar um manipulador de cliques.

  9. No manipulador click, ligue para counter1.Increment().

  10. Na função do construtor, após a chamada para InitializeComponent, tipo Counter1.+ = De Incremented e pressione TAB duas vezes.

    Visual Studio gera um manipulador de nível de formulário para o Counter1.Incremented evento.

  11. Realce o Throw a instrução no manipulador de eventos, o tipo de mbox em, e pressione a tecla TAB duas vezes para gerar uma caixa de mensagem do trecho de código mbox em.

  12. Na linha seguinte, adicione o seguinte if/else bloco para definir a visibilidade da Redefinir botão.

    if (counter1.Value < 5) counter1.ShowReset = false;
    else counter1.ShowReset = true;
    
  13. Pressione F5.

    O formulário é aberto. O contador controle exibe o texto a seguir.

    Contagem: 0

  14. Clique em teste.

    O contador será incrementado e Visual Studio exibe uma caixa de mensagem.

  15. Feche a caixa de mensagem.

    O Redefinir botão desaparecerá.

  16. Clique em teste até que o contador alcança 5e, em seguida, feche a caixa de mensagem.

    O Redefinir re-appears de botão.

  17. Clique em Redefinir.

    O contador é redefinido como 0.

Próximas etapas

Quando você constrói uma caixa de ferramentas Visual Studio de controle, cria um arquivo chamado ProjectName.vsix na pasta \bin\debug\ do seu projeto. Você pode implantar o controle carregando o arquivo de .vsix a uma rede ou um site da Web. Quando um usuário abre o arquivo .vsix, o controle é instalado e adicionado ao Visual Studio caixa de ferramentas no computador do usuário. Como alternativa, você pode carregar o arquivo .vsix para o Galeria de Visual Studio site da empresa para que os usuários podem encontrar navegando no Extension Manager.

Consulte também

Tarefas

Passo a passo: Criando um controle de caixa de ferramentas do WPF

Conceitos

Noções básicas sobre o desenvolvimento de controle dos Windows Forms

Outros recursos

A caixa de ferramentas (Visual Studio SDK)

Interfaces de usuário