Demonstra Passo a passo: Herdar de um controle Windows Forms com o Visual Basic
Com Visual Basic, você pode criar poderosos controles personalizados por meio de herança.Por meio de herança você consegue criar controles que retêm toda a funcionalidade dos controles padrões de formulários WinForms, mas também incorporam funcionalidades customizadas.Esta explicação passo a passo, você criará um controle herdado simples chamado ValueButton. Este botão herdará a funcionalidade do padrão do Windows Forms Button controlar e irá expor uma propriedade personalizada chamada ButtonValue.
Observação: |
---|
As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio. |
Quando você cria um novo projeto, você deve especificar seu nome para definir o namespace principal, o nome do conjunto de módulos (assembly), e o nome do projeto, e para garantir que o componente padrão (default) estará no namespace correto.
Sobre o Arquivo , aponte para Novo e, em seguida, clicar Projeto para em em aberto o Novo projeto caixa de diálogo.
selecionar o Biblioteca de controle do Windows projeto modelo a partir da lista de Visual Basic projetos e tipo ValueButtonLib in the Nome box.
O nome do projeto, ValueButtonLib, é também atribuída para a raiz por padrão. O namespace principal é usado para qualificar os nomes dos componentes no conjunto de módulos (assembly).Por exemplo, se dois assemblies oferecem componentes chamados ValueButton, você pode especificar seu ValueButton usando o componente ValueButtonLib.ValueButton. Para obter mais informações, consulte Namespaces in Visual Basic.
In O gerenciador de soluções, clicar com o botão direito do mouse em UserControl1.vb, em seguida, escolher Renomear no menu de atalho.Alterar nome de arquivo para ValueButton.vb.clicar no Sim botão quando for perguntado se você deseja renomear todas as referências ao elemento de código 'UserControl1'.
In O gerenciador de soluções, clicar no Mostrar todos os arquivos botão.
Abra o ValueButton.vb nó para exibir o arquivo de código gerado pelo designer, ValueButton.Designer.vb.em em aberto este arquivo no Editor de código.
localizar o Class demonstrativo, Partial Public Class ValueButtone altere o tipo da qual esse controle herda do UserControl para Button. Isso permite que o controle herdado herde toda a funcionalidade do Button controle.
localizar o InitializeComponent método e remover a linha que atribui o AutoScaleMode propriedade. Esta propriedade não existe no Button controle.
From a Arquivo menu, escolher Salvar todos para salvar o projeto.
Observe que a janela designer não está mais disponível.Porque o Button controle seu próprio pintura, você não consegue modificar sua aparência no designer. Sua representação visual será exatamente o mesmo que a classe que herda do (ou seja, Button), a menos que modificado no código.
Observação: |
---|
Você pode ainda adicionar componentes que não têm elementos de interface do usuário (UI elements), para a superfície de design . |
Uma possibilidade de uso de controles herdados Windows Forms é a criação de controles que são idênticos em aparência e comportamento (look and feel) aos controles padrão, mas expõem propriedades personalizadas.Nesta seção, você irá adicionar uma propriedade chamada ButtonValue em seu controle.
In O gerenciador de soluções, clicar com o botão direito do mouse em ValueButton.vbe, em seguida, clique em Exibir código no menu de atalho.
localizar o Public Class ValueButton demonstrativo. Imediatamente abaixo desta instrução, digite o seguinte código:
[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 ButtonValue propriedade é armazenada e recuperada. The Get demonstrativo define o valor retornado para o valor armazenado na variável particular varValuee o Set demonstrativo define o valor da variável particular através do uso da Value palavra-chave.
From a Arquivo menu, escolher Salvar todos para salvar o projeto.
Controles não são projetos autônomos; eles devem ser hospedados em um recipiente próprio (container).Para testar o controle, você deve fornecer um projeto de teste para que ele seja executado a partir deste.Você também deverá tornar o controle acessível para o projeto de teste compilando-o (building).Nesta seção, você irá criar um controle e testá-lo em um Windows Form.
On the Compilação menu, clicar Criar solução.
Note que a compilação deve ser bem sucedida, sem apresentar alertas (warnings) ou erros de compilação.
Sobre o Arquivo , aponte para Adicionar e, em seguida, clicar Novo projeto para em em aberto o Adicionar novo projeto caixa de diálogo.
selecionar o Visual Basic nó de projetos e clicar aplicativos do Windows.
No Nome box, type Teste.
In O gerenciador de soluções, clicar no Mostrar todos os arquivos botão.
In O gerenciador de soluções, clicar com o botão direito do mouse o Referências nó para o projeto de teste, em seguida, selecionar Adicionar referência no menu de atalho para exibir o Adicionar referência caixa de diálogo.
Clique na guia Projects.
clicar na guia rotulada Projetos.O ValueButtonLib projeto será listado no Nome do projeto.clicar duas vezes o projeto para adicionar a referência para o projeto de teste.
In O gerenciador de soluções clicar com o botão direito do mouse de Teste e selecionar Compilação.
In O gerenciador de soluções, clicar com o botão direito do mouse em Form1.vb e escolherExibir Designer no menu de atalho.
No Caixa de ferramentas, clicar Componentes ValueButtonLib.clicar duas vezes em ValueButton.
A ValueButton aparece no formulário.
clicar com o botão direito do mouse o ValueButton e selecionar Propriedades no menu de atalho.
No Propriedades janela, examine as propriedades deste controle.Observe que são idênticas às propriedades expostas por um botão padrão, exceto pelo fato de que existe uma propriedade adicional, ButtonValue.
conjunto o ButtonValue propriedade para 5.
Sobre o Todos os Windows Forms Guia de do Caixa de ferramentas, clicar duas vezes em Rótulo to add a Label controle ao formulário.
Realocar o rótulo para o centralizar do formulário.
clicar duas vezes em ValueButton1.
The Editor de código é aberto para o ValueButton1_Click evento.
Digite a seguinte linha de código.
[Visual Basic]
Label1.Text = CStr(ValueButton1.ButtonValue)
In O gerenciador de soluções, clicar com o botão direito do mouse em Testee escolher conjunto sistema autônomo projeto de inicialização no menu de atalho.
No menu Debug, selecione Start Without Debugging.
Form1 é exibida.
clicar Valuebutton1.
O número '5' é exibido em Label1, demonstrando que o ButtonValue propriedade de seu controle herdado foi passada para Label1 por meio do ValueButton1_Click método. Assim, seu ValueButton controle herde toda a funcionalidade do botão padrão do Windows Forms, mas expõe uma propriedade adicional e personalizada.
Demonstra Passo a passo: Criação de um controle composto com o Visual Basic
Como: Exibir um controle no caixa de diálogo caixa de ferramentas de personalização
Desenvolver controles Personalizars Windows Forms com o .NET Framework