Como: Herdar de controles Windows Forms existentes

Se desejar estender a funcionalidade de um controle existente, você pode criar um controle derivado de um controle existente por meio de herança.Ao herdar de um controle existente, herdam toda a funcionalidade e as propriedades visual do controle.Por exemplo, se você estivesse criando um controle herdado de Button, o novo controle seria aparência e funcionar exatamente como um padrão Button controle. Você pode estender ou modificar a funcionalidade do seu novo controle por meio da implementação de métodos e propriedades personalizados.Em alguns controles, você também pode alterar a aparência visual do seu controle herdado, substituindo o OnPaint método.

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.

Para criar um controle herdado

  1. criar um novo projeto do Windows.

    Esse projeto pode ser de qualquer tipo, sistema autônomo um aplicativos do Windows projeto ou um Biblioteca de controle do Windowsprojeto .Se você escolher um Biblioteca de controle do Windows, você pode usar o controle em branco fornecido e ignore as etapas 2 e 3.

  2. No menu Project, escolha Add User Control.

    The Adicionar novo item caixa de diálogo é exibida.

  3. No Adicionar novo item diálogo caixa, clicar duas vezes em Controle personalizado.

    Um novo controle personalizado ao seu projeto.

  4. No Editor de código, localizar a linha que especifica Control sistema autônomo a classe base para herdar de. Altere o nome da classe base para o nome do controle do qual você deseja herdar.

    Por exemplo, se você quiser herdar de Button, a linha ficaria:

    Inherits System.Windows.Forms.Button
    
    public class CustomControl1 : System.Windows.Forms.Button
    
    public class CustomControl1
       extends System.Windows.Forms.Button
    
  5. Implemente quaisquer métodos personalizados de ou propriedades que irá incorporar o controle.

  6. Se você quiser modificar a aparência gráfica de seu controle, substituir o OnPaint método.

    Observação:

    Substituição OnPaint não permitirá que você modifique a aparência de todos os controles. Esses controles têm todos os seu pintura feita pelo Windows (por exemplo, TextBox) nunca chama seus OnPaint método e, portanto, nunca irá usar o código personalizado. Consulte a documentação de ajuda para determinado controle você deseja modificar para ver se o OnPaint método está disponível. Para obter uma lista de todos os controles de formulário do Windows, consulte Controles para usar no Windows Forms. Se um controle não tiver OnPaint listado sistema autônomo um método membro, você não pode alterar sua aparência, substituindo este método. Para obter mais informações sobre pintura personalizada, consulte Pintura de Controlarar Personalizar e o processamento.

    Protected Overrides Sub OnPaint(ByVal pe As _
       System.Windows.Forms.PaintEventArgs)
       MyBase.OnPaint(pe)
       ' Insert code to do custom painting. If you want to completely
       ' change the appearance of your control, do not call
       ' MyBase.OnPaint(pe).
    End Sub
    
    protected override void OnPaint(PaintEventArgs pe)
    {
       // Do not call base.OnPaint if you want to completely
       // control the appearance of the control.
       base.OnPaint(pe);
       // Insert code to do custom painting.
    }
    
    protected void OnPaint(PaintEventArgs pe) 
    {
       // Do not call base.OnPaint if you want to completely
       // control the appearance of the control.
       super.OnPaint(pe);
       // Insert code to do custom painting.
    }
    
  7. salvar e teste seu controle.

Consulte também

Tarefas

Como: Herdar da classe de controle

Como: Herdar da classe UserControl

Como: Controles de autor para o Windows Forms

Solução de problemas herdados manipuladores de eventos no Visual Basic

Conceitos

Variedades de controles Personalizars