Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados simples
Publicado: abril de 2016
Ao exibir dados em formulários em aplicativos Windows, você pode escolher os controles existentes do Toolbox, ou você pode criar controles personalizados se seu aplicativo requer funcionalidade que não está disponível nos controles padrão. Este passo a passo mostra como criar um controle que implementa o DefaultBindingPropertyAttribute. Controles que implementam o DefaultBindingPropertyAttribute podem conter uma propriedade que pode ser associada a dados. Tais controles são semelhantes a um TextBox ou CheckBox.
Para obter mais informações sobre criação de controle, consulte Desenvolvendo controles dos Windows Forms na hora de design.
Ao criar controles para usam em cenários de associação de dados, você precisa implementar um dos seguintes atributos de associação de dados:
Uso do atributo de vinculação de dados |
---|
Implementar o DefaultBindingPropertyAttribute em controles simples, como um TextBox, que exibe uma única coluna (ou propriedade) de dados. (Esse processo é descrito nesta página de explicação passo a passo.) |
Implementar o ComplexBindingPropertiesAttribute nos controles, como um DataGridView, que exibe listas (ou tabelas) de dados. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados complexos. |
Implementar o LookupBindingPropertiesAttribute nos controles, como um ComboBox, que exibe listas (ou tabelas) de dados mas também precisa apresentar uma única coluna ou propriedade. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados de pesquisa. |
Este passo a passo cria um controle simples que exibe dados de uma única coluna em uma tabela. Este exemplo usa o Phone
coluna o Customers
tabela do banco de dados de exemplo Northwind. O controle de usuário simples exibirá números de telefone do cliente em um formato de número de telefone padrão usando um MaskedTextBox e definindo a máscara para um número de telefone.
Durante essa explicação passo a passo, você aprenderá como:
Criar um novo Windows Application.
Adicione um novo controle de usuário ao seu projeto.
Crie visualmente o controle de usuário.
Implementar o
DefaultBindingProperty
atributo.Criar um conjunto de dados com o Data Source Configuration Wizard.
Definir o Phone coluna o fontes de dados janela para usar o novo controle.
Crie um formulário para exibir dados no novo controle.
Pré-requisitos
Para concluir este passo a passo, você precisará de:
- Acesso ao banco de dados de exemplo Northwind. Para obter mais informações, consulte Como instalar bancos de dados de exemplo.
Criando um aplicativo do Windows
A primeira etapa é criar um Windows Application.
Para criar o novo projeto do Windows
No Visual Studio, do arquivo menu, crie um novo projeto.
Nomeie o projeto SimpleControlWalkthrough.
Selecione Windows Application e clique em OK. Para obter mais informações, consulte Aplicativos cliente.
O SimpleControlWalkthrough projeto é criado e adicionado ao Solution Explorer.
Adicionando um controle de usuário ao projeto
Este passo a passo cria um controle de ligação de dados simples de uma controle de usuário, para adicionar um controle de usuário item para o SimpleControlWalkthrough projeto.
Para adicionar um controle de usuário ao projeto
Do projeto menu, escolha Adicionar controle do usuário.
Tipo de
PhoneNumberBox
na área nome e clique Add.O PhoneNumberBox controle é adicionado à Solution Explorer e abre no designer.
Criando o controle PhoneNumberBox
Este passo a passo expande existente MaskedTextBox para criar o PhoneNumberBox
controle.
Para criar o controle PhoneNumberBox
Arraste um MaskedTextBox do Toolbox na superfície de design do controle de usuário.
Selecione a marca inteligente no MaskedTextBox apenas arrastando e escolha Definir máscara.
Selecione telefone no máscara de entrada caixa de diálogo e clique em OK para configurar a máscara.
Adicionando o atributo de vinculação de dados requerido
Para simples controles que suportam associação de dados, implemente o DefaultBindingPropertyAttribute.
Para implementar o atributo DefaultBindingProperty
Opção de
PhoneNumberBox
controle de exibição de código. (No exibição menu, escolha código.)Substitua o código no
PhoneNumberBox
com o seguinte:using System.Windows.Forms; namespace CS { [System.ComponentModel.DefaultBindingProperty("PhoneNumber")] public partial class PhoneNumberBox : UserControl { public string PhoneNumber { get{ return maskedTextBox1.Text; } set{ maskedTextBox1.Text = value; } } public PhoneNumberBox() { InitializeComponent(); } } }
<System.ComponentModel.DefaultBindingProperty("PhoneNumber")> Public Class PhoneNumberBox Public Property PhoneNumber() As String Get Return MaskedTextBox1.Text End Get Set(ByVal value As String) MaskedTextBox1.Text = value End Set End Property End Class
Do criar menu, escolha Build Solution.
Criando uma fonte de dados do banco de dados
Esta etapa usa o Data Source Configuration Wizard para criar uma fonte de dados com base no Customers
tabela no banco de dados de exemplo Northwind. Você deve ter acesso ao banco de dados de exemplo Northwind para criar a conexão. Para obter informações sobre como configurar o banco de dados de exemplo Northwind, consulte Como instalar bancos de dados de exemplo.
Para criar a fonte de dados
Sobre o dados menu, clique em Show Data Sources.
No fontes de dados janela, selecione Add New Data Source para iniciar o Data Source Configuration Wizard.
Selecione banco de dados sobre o Escolher um tipo de fonte de dados página e, em seguida, clique em próximo.
Sobre o Escolha sua conexão de dados página faça o seguinte:
Se uma conexão de dados para o banco de dados de exemplo Northwind estiver disponível na lista suspensa, selecione-o.
Ou
Selecione nova conexão para iniciar o Adicionar/Modificar conexão caixa de diálogo.
Se seu banco de dados exigir uma senha, selecione a opção para incluir dados confidenciais e, em seguida, clique em próximo.
Clique em próximo sobre o Salvar cadeia de conexão no arquivo de configuração do aplicativo página.
Expanda o tabelas nó o Choose your Database Objects página.
Selecione o
Customers
da tabela e, em seguida, clique em Concluir.O NorthwindDataSet é adicionado ao seu projeto e o
Customers
tabela aparece no fontes de dados janela.
Definir a coluna telefone para usar o controle PhoneNumberBox
Dentro de fontes de dados janela você pode definir o controle a ser criado antes de arrastar itens para seu formulário.
Para definir a coluna telefone para associar ao controle PhoneNumberBox
Abra Form1 no designer.
Expanda o clientes nó o fontes de dados janela.
Clique na seta suspensa no clientes nó e escolha detalhes na lista de controle.
Clique na seta suspensa no Phone coluna e escolha Personalizar.
Selecione o PhoneNumberBox da lista de controles associados no Opções de personalização da interface do usuário de dados caixa de diálogo.
Clique na seta suspensa no Phone coluna e escolha PhoneNumberBox.
Adicionando controles ao formulário
Você pode criar os controles associados a dados arrastando itens do fontes de dados window para o formulário.
Para criar controles ligados a dados no formulário
Arraste principal clientes nó a partir o fontes de dados window para o formulário e verifique o
PhoneNumberBox
controle é usado para exibir os dados noPhone
coluna.Controles ligados a dados com rótulos descritivos aparecem no formulário, juntamente com uma faixa de ferramenta (BindingNavigator) para navegação em registros. Um NorthwindDataSet, CustomersTableAdapter, BindingSource, e BindingNavigator aparecem na bandeja de componentes.
Executando o aplicativo
Para executar o aplicativo
- Pressione F5 para executar o aplicativo.
Próximas etapas
Dependendo dos requisitos de aplicativo, há várias etapas que você pode desejar executar depois de criar um controle que suporta ligação de dados. Algumas das próximas etapas típicas incluem:
Colocar os controles personalizados em uma biblioteca de controle para que você possa reutilizá-los em outros aplicativos.
Criando controles que suportam cenários de vinculação de dados mais complexos. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados complexos e Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados de pesquisa.
Consulte também
Associar controles dos Windows Forms a dados no Visual Studio
Como definir o controle a ser criado quando arrastado da janela Fontes de Dados