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çã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
Criar uma nova Windows Forms Application project.
No menu Project, escolha Add New Item.
O Add New Item caixa de diálogo aparece.
No Add New Item caixa de diálogo, clique duas vezes em Controle personalizado.
Um novo controle personalizado é adicionado ao seu projeto.
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.
Se você estiver usando o C#, abra CustomControl1.cs no Editor de código.
Localize a declaração de classe que herda de Control.
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
Se você estiver usando Visual Basic, salve e feche o CustomControl1.Designer.vb. Abra CustomControl1.vb no Editor de código.
Implemente quaisquer métodos personalizados ou propriedades que irá incorporar a seu controle.
Se você quiser modificar a aparência gráfica de seu controle, substituir o OnPaint método.
Observaçã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). }
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. |