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.
Artigos relacionados
Como exibir um controle na caixa de diálogo Escolher Itens da Caixa de Ferramentas
Passo a passo: serializando coleções de tipos padrão com DesignerSerializationVisibilityAttribute
Demonstra Passo a passo: Herdando de um controle do Windows Forms
Como fornecer um bitmap da caixa de ferramentas para um controle
Instruções passo a passo: depurando controles personalizados do Windows Forms no tempo de design
Como testar o comportamento de tempo de execução de um UserControl
Como alinhar um controle às bordas de formulários no tempo de design
Como criar um controle dos Windows Forms que aproveita recursos de tempo de design
Confira também
.NET Desktop feedback
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de