Controles Customizados – Parte 1

Crie seus próprios Controles para Windows Forms

Veremos nessa série de artigos como criar controles customizados, nesse artigo o primeiro da série veremos a introdução do que são controles customizados, em mais três a implementação e utilização de tipos diferentes de controles customizados (UserControls, Controles herdando de outros controles ou não e controles com GDI+) e por fim a criação e instalação do assembly que contém cada um dos controles customizados.

Controles Customizados são um ponto chave do desenvolvimento para .NET, podemos desenvolver controles que simplificam o modelo de programação, esses controles podem ter diferentes estados ou seja mudando uma única propriedade o controle pode fazer operações diferenciadas. Geralmente desenvolvemos controles customizados por três rações:

·         Controles que provem novas funcionalidades, ou a combinação de elementos existentes da UI em um único componente. Um exemplo bem clássico disso será o controle que iremos desenvolver que usará um ProgressBar e um Label em um UserControl.

·         Controles com uma visão profissional, pegando como base controles populares e profissionais de aplicativos existentes como o controle Microsoft Outlook Bar que podemos desenvolver facilmente com GDI+.

·         Controles que escondem os dados sem importância. Exemplos os ListView e TreeView.

 

A criação de controles customizados é fácil, você pode fazer o uso dos componentes existentes e adiciona novas funcionabilidades ou criar um componente do zero, os controles podem fazer parte um único projeto ou também podem estar contidos em um assembly, possibilitando o uso em outros projetos.

Tipos de Controles Customizados

Existem basicamente três tipos de controles:

·         UserControls simples que herdam da classe System.Windows.Forms.UserControl, pode conter um ou mais componentes do .NET Framework. Na realidade o UserControl é um controle no qual você pode adcionar outros controles e manipula-los. A Figura 1 mostra a hierarquia da classe UserControl.

 

 

Figura 1. Mostra a hierarquia das classes até a classe UserControl.                                            

·         Controles com herança geralmente são mais flexíveis e assim mais poderosos. Podemos escolher uma classe existente do .NET Framework e derivar dela já aproveitando os métodos e propriedades existentes e ainda adicionando os nossos métodos e propriedades ou podemos construir um controle do zero herando da classe System.Windows.Forms.Control.Por exemplo no .NET Framework 1.1 não existe o componente MaskEdit podemos criar um controle que herde de System.Windows.Forms.TextBox e implementamos outras funções necessárias para as mascaras e teremos um controle MaskEdit. A Figura 2 mostra a hierarquia da classe Control.

 

 

Figura 2. Mostra a hierarquia das classes até a classe Controll.    

·         Controles desenhados geralmente usam GDI+ para desenhar.

Controles herdados ou UserControls?

Os dois tipos de controles customizados tem seus pontos fortes e fracos.

·         UserControls são de fácil e de rápido desenvolvimento. Se você não vai usar esse controle em diversos casos diferentes e o processo sempre será o mesmo aconselhável utilizar UserControls.

·         Controles herdados são de fino ajustes você pode personaliza-los podendo moldar, detalhar e acrescentar muito mais características, ele se torna muito mais flexível só que a programação dele é “um pouco mais complexa”.

Conclusão

Tivemos uma breve introdução a controles customizados nos próximos artigos estarei detalhando mais cada tipo de controle, o próximo artigo será sobre UserControls usarei exemplos práticos para facilitar o entendimento.