Criando um controle Windows Forms (C++)

Os controles de Windows Forms são componentes que podem ser adicionados aos aplicativos do Windows Forms (aplicações de GUI destino Common Language Runtime). Aplicativos de Windows Forms no uso do Visual C++.NET Framework classes e outros.NET recursos com a nova sintaxe do Visual C++.

Neste procedimento, você criar um controle de Windows Forms que exibe um número. Esse número é incrementado cada vez que um usuário clica o rótulo em um aplicativo. Você poderá também criar umaplicativode Windows Formsprojeto para teste o controle.

Esta explicação passo a passo aborda o seguinte:

  • Criar um novo projeto.

  • Criar o controle.

  • Adicionando uma propriedade personalizada para o controle.

  • Adicionando um projeto para testar o controle.

  • Colocando o controle em um aplicativo.

  • Executar o aplicativo.

Prerequisites

Este tópico pressupõe que você compreenda os conceitos básicos da linguagem C++.

link to video Para obter um vídeo versão deste tópico, consulte vídeo How to: criar um controle de Windows Forms (C++).

Criar um novo projeto

O de projetode controle de Windows Forms modelo que você usar nesta seção cria um controle de usuário , que é um controle composto que contém outros controles.

Como alternativa, você pode criar um controle de Windows Forms derivando uma classe diretamente a partir do Control(seu código é responsável por desenhar o controle) da classe ou o Component classe (um controle que não tem nenhuma interface do usuário).

Para criar um novo Windows Forms de controle de projeto

  1. Do arquivo menu, clique em novae, em seguida, clique em projeto ….

  2. No Tipos de projeto painel, selecione CLR na Visual C++ nó e selecione Biblioteca de controle de Windows Forms na Visual Studio installed templatespainel.

    Digite um nome para o projeto, como, por exemplo, clickcounter.

    Digite um nome diferente para a solução, como, por exemplo, controlandtestapp.

    Você pode aceitar o local padrão, digite um local que você deseja, ou navegue para um diretório onde você deseja salvar o projeto.

  3. O Designer de Windows Forms abre e mostra uma área onde você pode adicionar os controles que você deseja posicionar na superfície de design do controle.

O controle do design

Nesta etapa, você adiciona um Label o controle para a superfície de design do controle. Você, em seguida, definir algumas propriedades sobre o controle propriamente dito e sobre o Label controle ele contém.

Para definir as propriedades de um controle de usuário

  1. Se você não conseguir ver o Propriedades janela, da modo de exibição menu, clique em Janela Propriedades do.

    No Windows Forms Designer, clique no controle para selecioná-lo e definir suas propriedades da seguinte maneira:

    • Definir o tamanhodepropriedade para 100, 100.

    • Definir o BorderStyle para Fixed3D

      Os limites de rótulo ficará visíveis depois de posicionar o controle em um aplicativo.

  2. Se o caixa de ferramentas janela não estiver visível, selecione caixa de ferramentas da Exibirmenu.

    Arrastar um Label controlar da caixa de ferramentas no design de superfície e posicione-o próximo ao meio do controle.

    Defina essas propriedades para o rótulo:

    • Definir o BorderStyle para FixedSingle.

    • Definir o texto para o dígito 0 (zero).

    • Definir o Autosize para False.

    • Definir o tamanho para 30, 20.

    • Definir o TextAlign para MiddleCenter.

    Deixe o nome (como você se referir a ele no código) dapropriedade inalterada como label1. O controle deve ser semelhante ao seguinte:

    The layout of the control

  3. Adicione evento Clickevento (o padrão evento para um rótulo), clique duas vezes no rótulo.

  4. O clickcounter.harquivo é exibido na área edição com um manipulador de evento de vazia método.

    Dica

    Se você precisar de mais espaço, fechar o caixa de ferramentas ou Propriedadesjanela clicando na caixa de fechamento apropriada ou fazendo o unpin a janela para que ele auto-oculta.

  5. Move o cursor para depois da chave de abertura da label1_Clicktipo de métodoe pressione Enter:

    int temp = System::Int32::Parse(label1->Text);
    temp++;
    label1->Text = temp.ToString();
    

    IntelliSense exibe uma lista de opções válido após digitar uma resolução de escopo operador (::), ponto de operador (.) ou o operador de seta (->). Você pode realçar um item e pressionar Tab ou Enter ou clique duas vezes em um item para inserir o item no seu código.

    Além disso, quando você digita um parêntese de abertura para um método, Visual Studio exibe os tipos deargumento válidopara cada sobrecarga do método.

Adicionar uma propriedade personalizada para o controle

Nesta etapa, você pode definir uma propriedade personalizada que determina se o número que é exibido no controle incrementa quando um usuário clica o rótulo ou quando um usuário clica em qualquer local no controle.

Para adicionar uma propriedade de personalizada para um controle

  1. Coloque o cursor após os dois pontos da primeira publicindicador de escopo , public:, na parte superior da clickcounterControl.h de arquivo, pressione Enter e, em seguida, digite o seguinte:

    property bool ClickAnywhere {
        bool get() {
            return (label1->Dock == DockStyle::Fill);
        }
        void set(bool val) {
            if (val) 
                label1->Dock = DockStyle::Fill;
            else 
                label1->Dock = DockStyle::None;
        }
    }
    

    Ao definir o ClickAnywherea propriedade do controle para true, o Dock propriedade do rótulo é definida como DockStyle::Fill, e o rótulo preenche a superfície de controle inteira. Um clique em qualquer lugar na superfície de controle, em seguida, fará com que um rótulodeClickevento, que incrementa o número na rótulo.

    Quando o ClickAnywhere propriedade é false (padrão), o Docka propriedade do rótulo é definida como DockStyle::None. O rótulo não preenche o controle e um clique no controle deverá estar dentro de limites de rótulo para fazer com que um rótulodeClickevento, que incrementa o número.

  2. Cria o controle de usuário . Sobre o Build menu, selecione Build Solution.

    Se não houver nenhum erro, um controle de Windows Forms é gerado com o nome de arquivo clickcounter.dll. Você pode localizar esse arquivo na estruturado diretório do projeto .

Adicionar um projeto para testar o controle

Nesta etapa, você criar um Windows Formsdeprojeto deaplicativono qual você irá posicionar instâncias do controle clickcounter em um formulário.

Dica

Você pode escrever oaplicativo do Windows Formsque você criar para teste o controle com o Visual C++ ou outra.NET compatível, como C# ou Visual Basic.

Para criar umprojeto deaplicativode Windows Forms

  • Do arquivo menu, selecione novae, em seguida, clique em projeto ….

Você também pode adicionar um projeto à solução porclicando com o botão direito do controlandtestapp soluçãona Solution Explorer, apontando para Add, eem Novo projeto ….

  1. No Tipos de projeto painel, selecione CLR no Visual C++ nó e selecione aplicativo de Windows Forms na Visual Studio installed templatespainel.

    Digite um nome para o projeto, como, por exemplo, testapp.

    Certifique-se de selecionar Adicionar à solução em vez de aceitar o padrão Criar nova solução configuração o solução na lista suspensa e clique OK.

  2. O Designer de Windows Forms abre de novo projeto e mostra um novo formulário chamado Form1 como na Figura:

    A newly created form

Para adicionar um controle à caixa de ferramentas

  1. Adicione uma referência ao controle. Clique com o botão direito no projeto de testapp na Solution Explorer e clique em referências.

    Clique no Adicionar nova referência botão, clique no projetos guia (você está adicionando uma referência a outro projeto nesta solução) e selecione o projetodo clickcounter. Clique em OK duas vezes.

  2. Se você não conseguir ver o Toolbox janela, selecione caixa de ferramentas da Exibirmenu.

  3. Se você não conseguir localizar o controle de clickCounter na caixa de ferramentas com um ícone de "engrenagem", em seguida, clique duas vezes o caixa de ferramentas e clique em Escolher itens.

    Clique no Procurar botão e localize o clickcounter.dllo arquivo em sua estruturade diretório de solução . Selecione-o e clique em Abrir.

    O clickcounter controle é mostrado na**.NET Framework Components** lista com uma marca de seleção. Clique em OK.

    O controle aparece no caixa de ferramentas com o ícone de engrenagem"padrão".

Colocar o controle em um aplicativo

Nesta etapa, você pode coloca duas instâncias do controle em um aplicativodeformulário e definir suas propriedades.

Para colocar as instâncias de um controle em um formulário

  1. Arraste duas instâncias do controle de clickcounter a caixa de ferramentas. Colocá-los no formulário para que eles não se sobreponham.

    Se você quiser tornar o formulário mais largo, clique no formulário para selecioná-la e arraste uma das alças de seleção para fora.

  2. Se você não conseguir ver o Propriedades janela, selecione Propriedades da Exibirmenu.

    O ClickAnywhere propriedade está no Misc. seção a Janela de propriedades (se as propriedades são organizadas por categoria).

  3. Clique em uma instância do controle clickcounter no formulário para selecioná-lo e, em seguida, defina sua ClickAnywheredepropriedade para true.

  4. Deixe o ClickAnywhereapropriedade da instância do controle clickcounter definida como false (o padrão).

  5. Clique com o botão direito do testapp de projeto no Solution Explorer e selecione Como projeto de inicialização.

  6. Do Build menu, selecione Rebuild Solution.

    Você deve ver o que os dois projetos criados sem erros.

Executar o aplicativo

Nesta etapa, você executar o aplicativoe clique nos controles para teste -los.

Para testar o aplicativo

  1. No menu Debug, selecione Start Without Debugging.

    O formulário é exibida com as duas instâncias do controle visível.

  2. Execute o aplicativo e clique em ambos os controles de clickcounter:

    • Clique no controle com ClickAnywhere definido como true.

      O número na rótuloé incrementado quando você clica em qualquer lugar no controle.

    • Clique no controle com ClickAnywhere definido como false.

      O número na rótulo é incrementado somente quando você clica dentro dos limites visíveis do rótulo. A captura de tela a seguir mostra como o aplicativo deverá ficar depois de clicar nele, algumas vezes:

Test application showing the controls

  1. Feche o teste aplicativo clicando em seu fechar caixa no canto superior direito da janelaForm1.

Next Steps

Anterior:A criação de um aplicativo do Windows Forms usando o.NET Framework (C++) | Próxima:Recursos para criar um jogo usando DirectX (C++)

Consulte também

Tasks

Tour guiado do Visual C++

Reference

Windows API

System.Windows.Forms

Concepts

Usando o IDE do Visual Studio para desenvolvimento do C++

Other Resources

Desenvolvendo aplicativos clientes

Controles do Windows Forms