Como: Herdar de controles Windows Forms existentes

Se você deseja estender a funcionalidade de um controle existente, você pode criar um controle derivado de um controle existente por meio de herança. Ao herdar a partir de um controle existente, você deve herdar todas as funcionalidades e visual propriedades desse controle. Por exemplo, se você estivesse criando um controle que é herdada da Button, o novo controle seria examinar e agem exatamente como um padrão Button de controle. Em seguida, 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 seu OnPaint método.

ObservaçãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações.

Para criar um controle herdado

  1. Criar uma nova Windows Forms Application project.

  2. No menu Project, escolha Add New Item.

    O Add New Item caixa de diálogo aparece.

  3. No Add New Item caixa de diálogo, clique duas vezes em Controle personalizado.

    Um novo controle personalizado é adicionado ao seu projeto.

  4. Se estiver usando o Visual Basic, na parte superior do Solution Explorer, clique em Mostrar todos os arquivos. Expanda CustomControl1.vb e em seguida, abra CustomControl1.Designer.vb no Editor de código.

  5. Se você estiver usando o C#, abra CustomControl1.cs no Editor de código.

  6. Localize a declaração de classe que herda de Control.

  7. Altere a classe base para o controle que você deseja herdam.

    Por exemplo, se você quiser herdar de Button, altere a declaração de classe para o seguinte:

    Partial Class CustomControl1
        Inherits System.Windows.Forms.Button
    
    public partial class CustomControl1 : System.Windows.Forms.Button
    
  8. Se você estiver usando Visual Basic, salve e feche o CustomControl1.Designer.vb. Abra CustomControl1.vb no Editor de código.

  9. Implemente quaisquer métodos personalizados ou propriedades que irá incorporar a seu controle.

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

    ObservaçãoObservação

    Substituindo OnPaint não permitirá que você modifique a aparência de todos os controles. Esses controles que 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 o controle específico que 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 uso no Windows Forms. Se não tiver um controle OnPaint listado como um método de membro, não é possível alterar sua aparência, substituindo o método. Para obter mais informações sobre pintura personalizada, consulte O processamento e a pintura de controle personalizada.

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

Consulte também

Tarefas

Como: Herda a classe de controle

Como: Herdar da classe UserControl

Como: Controles de autor para Windows Forms

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

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

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

Conceitos

Variedades de controles personalizados

Histórico de alterações

Date

History

Motivo

Julho de 2010

Atualizado para 2010 de Visual Studio.

Comentários do cliente.