Demonstra Passo a passo: Herdar de um controle Windows Forms com Visual Basic

Com Visual Basic, você pode criar poderosos controles personalizados por meio de herança. Through inheritance you are able to create controls that retain all of the inherent functionality of standard Windows Forms controls but also incorporate custom functionality. Esta explicação passo a passo, você irá criar herdadas de um simples controle chamado ValueButton. Este botão herdará a funcionalidade dos Windows FormspadrãoButton de controle e irá expor personalizada propriedade chamada ButtonValue.

ObservaçãoObservação

Caixas de diálogo e comandos de menu que você vê podem diferir das descritas na Help dependendo das suas configurações ativas ou edição. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. For more information, see Trabalhando com configurações.

Creating the Project

When you create a new project, you specify its name in order to set the root namespace, assembly name, and project name, and to ensure that the default component will be in the correct namespace.

Para criar o ValueButtonLib de controle de biblioteca e o controle de ValueButton

  1. Sobre o Arquivo menu, aponte para Novo e, em seguida, clique em projeto para em aberto o Novo projeto caixa de diálogo.

  2. Selecione o Biblioteca de controle deWindows Forms modelo deprojetoda lista de Visual Basic projetos e o tipo de ValueButtonLib na Nome caixa.

    O nome do projeto, ValueButtonLib, também é atribuído ao namespace raiz por padrão. The root namespace is used to qualify the names of components in the assembly. Por exemplo, se dois assemblys fornecem componentes chamados ValueButton, você pode especificar o ValueButtonusando ocomponente ValueButtonLib.ValueButton. For more information, see Namespaces no Visual Basic.

  3. Em Solution Explorer, à direita clique de- UserControl1.vb, em seguida, escolha Renomear nomenude atalho. Alterar o nome do arquivo para ValueButton.vb. Clique o Sim botão quando for perguntado se deseja renomear todas as referências ao elemento de código 'usercontrol1'.

  4. Em Solution Explorer, clique na Mostrar todos os arquivos botão.

  5. Abrir o ValueButton.vb o nó para exibir o designer-gerou o arquivo de código, ValueButton.Designer.vb. Abrir este arquivo de O Editor de código.

  6. Localize o Classdedemonstrativo, Partial Public Class ValueButtone alterar o tipo da qual esse controle herda do UserControl para Button. Isso permite que seu controle herdado herdar de toda a funcionalidade da Button de controle.

  7. Localize o InitializeComponent método e remova a linha que atribui o AutoScaleMode propriedade. Esta propriedade não consta do Button de controle.

  8. Do Arquivo menu, escolha Salvar Tudo para salvar o projeto.

    Note that a visual designer is no longer available. Porque o Button controle faz sua própria pintura, você não conseguir modificar sua aparência no designer. Sua representação visual será exatamente o mesmo da classe que herda de (ou seja, Button), a menos que uma modificação no código.

ObservaçãoObservação

You can still add components, which have no UI elements, to the design surface.

Adicionar uma propriedade para o seu controle herdado

One possible use of inherited Windows Forms controls is the creation of controls that are identical in appearance and behavior (look and feel) to standard Windows Forms controls, but expose custom properties. Nesta seção, você irá adicionar uma propriedade chamada ButtonValue para o seu controle.

Para adicionar o Valordepropriedade

  1. Em Solution Explorer, à direita clique de- ValueButton.vbe em seguida, clique em Exibir Código nomenude atalho.

  2. Localize o Public Class ValueButton instrução. Immediately beneath this statement, type the following code:

    [Visual Basic]

    ' Creates the private variable that will store the value of your 
    ' property.
    Private varValue as integer
    ' Declares the property.
    Property ButtonValue() as Integer
    ' Sets the method for retrieving the value of your property.
       Get
          Return varValue
       End Get
    ' Sets the method for setting the value of your property.
       Set(ByVal Value as Integer)
          varValue = Value
       End Set
    End Property
    

    Este código define os métodos pelos quais o ButtonValuedepropriedade são armazenadas e recuperadas. O Getdemonstrativo define o valor retornado para o valor que é armazenado na variávelparticular varValuee o Setdemonstrativo define o valor da variável particular através do uso da Valuepalavra-chave.

  3. Do Arquivo menu, escolha Salvar Tudo para salvar o projeto.

Testando seu controle.

Controls are not stand-alone projects; they must be hosted in a container. In order to test your control, you must provide a test project for it to run in. You must also make your control accessible to the test project by building (compiling) it. In this section, you will build your control and test it in a Windows Form.

Para criar o seu controle.

  • Sobre o Build menu, clique em Build Solution.

    The build should be successful with no compiler errors or warnings.

Para criar umprojetode teste

  1. Sobre o Arquivo menu, aponte para Adicionar e, em seguida, clique em Novo projeto para em aberto o Adicionarprojeto deNovo caixa de diálogo.

  2. Selecione o Visual Basic o nó de projetos e clique em o aplicativo deWindows Forms.

  3. No Nome , digite teste.

  4. Em Solution Explorer, clique na Mostrar todos os arquivos botão.

  5. Em Solution Explorer, à direita-clique o referências nó para testeprojeto, selecione Adicionar referência nomenu de atalhopara exibir o Adicionar referênciacaixa de diálogo.

  6. Click the Projects tab.

  7. Clique na guia projetos. O ValueButtonLib projeto será listado em Nome do projeto. Clique duas vezes no projeto para adicionar a referência ao projeto de teste.

  8. Em Solution Explorer, botão direito- teste e selecione Build.

Para adicionar o controle ao formulário

  1. Em Solution Explorer, direito clique em- Form1. vb e escolha View Designer nomenude atalho.

  2. No caixa de ferramentas, clique em Componentes de ValueButtonLib. Duplo clique de- ValueButton.

    A ValueButton aparece no formulário.

  3. Botão direito-a ValueButton e selecione Propriedades nomenude atalho.

  4. No Propriedades janela, examine as propriedades desse controle. Observe que eles são idênticos para as propriedades expostas por um botão padrão, exceto que não há uma propriedadeadicional, ButtonValue.

  5. Definir o ButtonValuedepropriedade para 5.

  6. No Tudo Windows Forms guia da Toolbox, duplo clique de- rótulo para adicionar uma Label controle ao seu formulário.

  7. Realoca o rótulo para o centro do formulário.

  8. Clique duas vezes em ValueButton1.

    O o Editor deCódigo abre para a ValueButton1_Clickevento.

  9. Tipo a seguinte linha de código.

    [Visual Basic]

    Label1.Text = CStr(ValueButton1.ButtonValue)
    
  10. No Solution Explorer, direito clique em- testee escolha Set as Inicialização Project nomenude atalho.

  11. From the Debug menu, select Start Debugging.

    Form1é exibida.

  12. Click Valuebutton1.

    O numeral '5' é exibido na Label1, demonstram que o ButtonValuefoi passado para apropriedade do seu controle herdado Label1 por meio de ValueButton1_Clickmétodo. Assim, o ValueButton controle herda a toda a funcionalidade do botão padrão do Windows Forms , mas expõe uma propriedadeadicional, personalizado.

Consulte também

Tarefas

Demonstra Passo a passo: Criação de um controle composto com Visual Basic

Como: Exibir um controle na escolher a caixa de diálogo itens da caixa de ferramentas

Outros recursos

Desenvolvendo controles de formulários do Windows personalizada com o.NET Framework

Inheritance in Visual Basic

Passo a passo de criação do componente