Demonstra Passo a passo: Herdar de um Windows Forms controle with Visual translation from VPE for Csharp
Com Visual C# 2005, 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. |
Criando o projeto
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.
Para criar a biblioteca de controle ValueButtonLib e o controle ValueButton
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 C# 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 (Guia de programação C#).
In O gerenciador de soluções, clicar com o botão direito do mouse em UserControl1.cs, em seguida, escolher Renomear no menu de atalho.Alterar nome de arquivo para ValueButton.cs.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 com o botão direito do mouse em ValueButton.cs e selecionar Exibir código.
localizar o class linha de demonstrativo public partial 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.
In O gerenciador de soluções, em aberto the ValueButton.cs nó para exibir o arquivo de código gerado pelo designer, ValueButton.Designer.cs.em em aberto este arquivo no Editor de código.
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.
Observação: Um designer visual 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. Você pode ainda adicionar componentes que não têm elementos de interface do usuário (UI elements), para a superfície de design .
Adicionar uma propriedade ao seu controle herdado
Um uso possível herdados controles Windows Forms é a criação de controles que são idênticos na aparência de controles padrão do Windows Forms, mas expõe propriedades personalizadas.Nesta seção, você irá adicionar uma propriedade chamada ButtonValue em seu controle.
Para adicionar a propriedade valor
In O gerenciador de soluções, clicar com o botão direito do mouse em ValueButton.cse, em seguida, clique em Exibir código no menu de atalho.
localizar o class demonstrativo. Imediatamente após o {, digite o seguinte código:
[C#]
// Creates the private variable that will store the value of your // property. private int varValue; // Declares the property. public int ButtonValue { // Sets the method for retrieving the value of your property. get { return varValue; } // Sets the method for setting the value of your property. set { varValue = value; } }
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.
Testando o controle
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.
Para criar seu controle
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.
Para criar um projeto de teste
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 Windows nó, sob o Translation from VPE for Csharp Visual nó e clicar aplicativos do Windows.
No Nome box, type Teste.
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.
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.
Para adicionar o controle para o formulário
In O gerenciador de soluções, clicar com o botão direito do mouse em Form1.cs 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.
No 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.
Insira a linha de código a seguir.
[C#]
label1.Text = valueButton1.ButtonValue.ToString();
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.
Consulte também
Tarefas
Como: Exibir um controle no caixa de diálogo caixa de ferramentas de personalização
Demonstra Passo a passo: Criação de um controle composto com translation from VPE for Csharp Visual