Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données simple
Date de publication : mars 2016
Pour présenter des données dans des formulaires d'applications Windows, vous pouvez choisir des contrôles existants dans la Boîte à outils ou créer des contrôles personnalisés si votre application requiert des fonctionnalités qui ne sont pas disponibles dans les contrôles standard. Cette procédure pas à pas vous indique comment créer un contrôle qui implémente l'objet DefaultBindingPropertyAttribute. Les contrôles qui implémentent DefaultBindingPropertyAttribute peuvent contenir une propriété pouvant être liée aux données. Ce type de contrôles est similaire à TextBox ou CheckBox.
Pour plus d'informations sur la création de contrôles, consultez Développement de contrôles Windows Forms au moment du design.
Quand vous créez des contrôles utilisables dans des scénarios de liaison de données, vous devez implémenter l'un des attributs Databinding suivants :
Utilisation de l'attribut Databinding |
---|
Implémentez DefaultBindingPropertyAttribute sur des contrôles simples, comme TextBox, qui affichent une seule colonne (ou propriété) de données. (Ce processus est décrit dans cette page de procédure pas à pas.) |
Implémentez ComplexBindingPropertiesAttribute sur des contrôles, comme DataGridView, qui affichent des listes (ou tables) de données. Pour plus d'informations, consultez Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données complexe. |
Implémentez l'objet LookupBindingPropertiesAttribute sur des contrôles, comme ComboBox, qui affichent des listes (ou tables) de données, mais doivent également présenter une seule colonne ou propriété. Pour plus d'informations, consultez Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données de recherche. |
Cette procédure pas à pas crée un contrôle simple qui affiche les données d'une seule colonne dans une table. Cet exemple utilise la colonne Phone
de la table Customers
de l'exemple de base de données Northwind. Le contrôle utilisateur simple affiche les numéros de téléphone des clients dans un format de numéro de téléphone standard à l'aide d'un MaskedTextBox et en définissant le masque sur un numéro de téléphone.
Pendant cette procédure pas à pas, vous allez apprendre à :
Créer une application Windows.
Ajouter un nouveau Contrôle utilisateur à votre projet.
Concevoir visuellement le contrôle utilisateur.
Implémenter l'attribut
DefaultBindingProperty
.Créer un dataset à l'aide de l'Configuration de source de données (Assistant).
Définir la colonne Phone dans la fenêtre Sources de données pour qu'elle utilise le nouveau contrôle.
Créer un formulaire pour afficher des données dans le nouveau contrôle.
Composants requis
Pour exécuter cette procédure pas à pas, vous avez besoin des éléments suivants :
- avoir accès à l'exemple de base de données Northwind. Pour plus d'informations, consultez Comment : installer des exemples de bases de données.
Création d'une application Windows
La première étape consiste à créer une application Windows.
Pour créer un projet Windows
Dans Visual Studio, dans le menu Fichier, créez un Projet.
Attribuez le nom SimpleControlWalkthrough au projet.
Sélectionnez Application Windows et cliquez sur OK. Pour plus d'informations, consultez Applications clientes.
Le projet SimpleControlWalkthrough est créé et ajouté à l'Explorateur de solutions.
Ajout d'un contrôle utilisateur au projet
Cette procédure pas à pas crée un contrôle simple pouvant être lié aux données à partir d'un Contrôle utilisateur, vous devez donc ajouter un élément Contrôle utilisateur au projet SimpleControlWalkthrough.
Pour ajouter un contrôle utilisateur au projet
Dans le menu Projet, choisissez Ajouter un contrôle utilisateur.
Tapez
PhoneNumberBox
dans la zone Nom, puis cliquez sur Ajouter.Le contrôle PhoneNumberBox est ajouté à l'Explorateur de solutions et s'ouvre dans le concepteur.
Conception du contrôle PhoneNumberBox
Cette procédure pas à pas s'appuie sur le MaskedTextBox existant pour créer le contrôle PhoneNumberBox
.
Pour concevoir le contrôle PhoneNumberBox
Faites glisser un MaskedTextBox depuis la Boîte à outils vers l'aire de conception du contrôle utilisateur.
Sélectionnez la balise active du MaskedTextBox que vous venez de faire glisser et choisissez Définir le masque.
Sélectionnez Numéro de téléphone dans la boîte de dialogue Masque de saisie et cliquez sur OK pour définir le masque.
Ajout de l'attribut Databinding requis
Pour des contrôles simples prenant en charge la liaison de données, implémentez l'attribut DefaultBindingPropertyAttribute.
Pour implémenter l'attribut DefaultBindingProperty
Basculez le contrôle
PhoneNumberBox
sur le mode Code. (Dans le menu Affichage, choisissez Code.)Remplacez le code de
PhoneNumberBox
par le code suivant :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
Dans le menu Générer, cliquez sur Générer la solution.
Création d'une source de données à partir de votre base de données
Cette étape utilise l'Assistant Configuration de source de données pour créer une source de données basée sur la table Customers
de l'exemple de base de données Northwind. Vous devez avoir accès à l'exemple de base de données Northwind pour créer la connexion. Pour plus d'informations sur la configuration de l'exemple de base de données Northwind, consultez Comment : installer des exemples de bases de données.
Pour créer la source de données
Dans le menu Données, cliquez sur Afficher les sources de données.
Dans la fenêtre Sources de données, sélectionnez Ajouter une nouvelle source de données pour démarrer l'Assistant Configuration de source de données.
Sélectionnez Base de données dans la page Choisir un type de source de données, puis cliquez sur Suivant.
Dans la page Choisir votre connexion de données, effectuez l'une des opérations suivantes :
Si une connexion de données à l'exemple de base de données Northwind est disponible dans la liste déroulante, sélectionnez-la.
Ou
Sélectionnez Nouvelle connexion pour afficher la boîte de dialogue Ajouter/Modifier la connexion.
Si votre base de données requiert un mot de passe, sélectionnez l'option pour inclure les données sensibles, puis cliquez sur Suivant.
Cliquez sur Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application.
Développez le nœud Tables dans la page Choisir vos objets de base de données.
Sélectionnez la table
Customers
, puis cliquez sur Terminer.NorthwindDataSet est ajouté à votre projet et la table
Customers
apparaît dans la fenêtre Sources de données.
Définition de la colonne Phone pour qu'elle utilise le contrôle PhoneNumberBox
Dans la fenêtre Sources de données, vous pouvez définir le contrôle à créer avant de faire glisser des éléments vers votre formulaire.
Pour définir la colonne Phone pour qu'elle soit liée au contrôle PhoneNumberBox
Ouvrez Form1 dans le concepteur.
Développez le nœud Customers dans la fenêtre Sources de données.
Cliquez sur la flèche déroulante du nœud Customers et choisissez Détails dans la liste de contrôles.
Cliquez sur la flèche déroulante de la colonne Phone et choisissez Personnaliser.
Sélectionnez PhoneNumberBox dans la liste des Contrôles associés de la boîte de dialogue Options de personnalisation de l'interface utilisateur du formulaire de données.
Cliquez sur la flèche déroulante de la colonne Phone et choisissez PhoneNumberBox.
Ajout de contrôles au formulaire
Pour créer des contrôles liés aux données, vous pouvez faire glisser des éléments depuis la fenêtre Sources de données vers le formulaire.
Pour créer des contrôlés liés aux données dans le formulaire
Faites glisser le nœud Customers principal depuis la fenêtre Sources de données vers le formulaire et vérifiez que le contrôle
PhoneNumberBox
est utilisé pour afficher les données dans la colonnePhone
.Les contrôles liés aux données assortis d'étiquettes descriptives apparaissent dans le formulaire, ainsi qu'une barre d'outils (BindingNavigator) pour parcourir les enregistrements. NorthwindDataSet, CustomersTableAdapter, BindingSource et BindingNavigator s'affichent dans la barre d'état des composants.
Exécution de l'application
Pour exécuter l'application
- Appuyez sur F5 pour exécuter l'application.
Étapes suivantes
Selon les spécifications de votre application, vous pouvez exécuter différentes étapes après la création d'un contrôle prenant en charge la liaison de données. Les étapes ultérieures sont habituellement celles-ci :
Positionnement de vos contrôles personnalisés dans une bibliothèque de contrôles pour pouvoir les réutiliser dans d'autres applications.
Création de contrôles prenant en charge des scénarios de liaison de données plus complexes. Pour plus d’informations, consultez Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données complexe et Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données de recherche.
Voir aussi
Définir le contrôle à créer lors d’une opération de glisser-déplacer à partir de la fenêtre Sources de données
Liaison de contrôles Windows Forms à des données dans Visual Studio
Vue d'ensemble d'applications de données dans Visual Studio
Connexion aux données dans Visual Studio
Préparation de votre application pour recevoir des données
Extraction de données dans votre application
Liaison de contrôles à des données dans Visual Studio
Modification des données dans votre application
Validation des données
Enregistrement des données