Compartilhar via


Recomendações do Tipo de Controle

O .NET Framework fornece a capacidade de desenvolver e implementar novos controles. Além do controle de usuário familiar, agora você poderá gravar controles personalizados que executam sua os que executam suas próprias pinturas e que podem até mesmo estender as funcionalidades de controles existentes por meio de herança. Decidindo qual tipo de controle criar pode ser confuso. Esta seção destaca as diferenças entre os vários tipos de controles pelos quais você pode herdar e fornece considerações relacionadas ao tipo que você escolher para seu projeto.

Observação

Caso queira criar um controle para usar no Web Forms, consulte Desenvolvendo Controles de Servidores ASP.NET Personalizados.

Herdando de um controle dos Windows Forms

Você pode derivar um controle herdado de qualquer controle Windows Forms existente. Essa abordagem permite a você reter todas as funcionalidades inerentes de um controle Windows Forms e estender essa funcionalidade adicionando propriedades personalizadas, métodos ou outras funcionalidades. Por exemplo, você pode criar um controle derivado de TextBox que pode aceitar apenas números e converte automaticamente a entrada em um valor. Um controle desse tipo pode conter código de validação que foi chamado sempre que o texto na caixa de texto foi alterado e pode ter uma propriedade adicional, Valor. Em alguns controles, você também pode adicionar uma aparência personalizada à interface gráfica do seu controle substituindo o OnPaint método da classe base.

Herde de um controle dos Windows Forms se:

  • A maioria da funcionalidade que você precisa já é idêntica a um controle Windows Forms existente.

  • Você não precisa de uma interface gráfica personalizada ou deseja criar um novo front-end gráfico para um controle existente.

Herdando da classe UserControl

Um controle de usuário é uma coleção de controles dos Windows Forms encapsulados em um contêiner comum. Um contêiner contém todas as funcionalidades inerentes associadas a cada um dos controles dos Windows Forms e permite que você exponha seletivamente e associe suas propriedades. Um exemplo de um controle composto poderia ser um controle criado para exibir dados de endereço de cliente de um banco de dados. Esse controle incluiria várias caixas de texto para exibir cada campo e controles de botão para navegar pelos registros. Você pode expor seletivamente propriedades de associação de dados, além de poder empacotar e reutilizar todo o controle do aplicativo para o aplicativo.

Herdar da UserControl classe se:

  • Você deseja combinar a funcionalidade de vários controles dos Windows Forms em uma única unidade reutilizável.

Herdando da Classe de Controle

Outra maneira de criar um controle é criar um substancialmente do zero, herdando do Control. A Control classe fornece toda a funcionalidade básica exigida pelos controles (por exemplo, eventos), mas nenhuma funcionalidade específica do controle ou interface gráfica. Criar um controle herdando da Control classe requer muito mais pensamento e esforço do que herdar do controle de usuário ou um controle existente do Windows Forms. O autor deve escrever código para o OnPaint evento do controle, bem como qualquer código específico de funcionalidade que seja necessário. Maior flexibilidade é permitida, no entanto e você pode personalizar um controle para atender às suas necessidades. Um exemplo de um controle personalizado é um controle de relógio que duplica a aparência e a ação de um relógio analógico. A pintura personalizada seria invocada para fazer com que os ponteiros do relógio se movam em resposta a Tick eventos de um componente de temporizador interno.

Herdar da Control classe se:

  • Você deseja fornecer uma representação gráfica personalizada do seu controle.

  • Você precisa implementar a funcionalidade personalizada que não está disponível por controles padrão.

Confira também