Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données simple
Lorsque vous affichez des données sur des formulaires dans les applications Windows, vous pouvez soit choisir des contrôles existants de la Boîte à outils, soit créer des contrôles personnalisés si votre application nécessite des fonctionnalités qui ne sont pas disponibles dans les contrôles standard. Cette procédure pas à pas indique comment créer un contrôle qui implémente DefaultBindingPropertyAttribute. Les contrôles qui implémentent DefaultBindingPropertyAttribute peuvent contenir une propriété qui peut être liée aux données. Ces contrôles sont semblables à TextBox ou CheckBox.
Pour plus d'informations sur la création de contrôles personnalisés, consultez Développement de contrôles Windows Forms au moment du design.
Lorsque vous créez des contrôles à utiliser dans des scénarios de liaison de données, vous devez implémenter l'un des attributs de liaison de données suivants :
Utilisation des attributs de liaison de données |
---|
Implémentez DefaultBindingPropertyAttribute sur les contrôles simples, comme un TextBox qui affiche 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 les contrôles, comme un 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 LookupBindingPropertiesAttribute sur les contrôles, comme un ComboBox, qui affichent des listes (ou tables) de données mais qui ont également besoin de 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 des données provenant d'une seule colonne d'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 affichera les numéros de téléphone de clients dans un format de numéro de téléphone standard à l'aide d'un contrôle MaskedTextBox et en définissant le masque comme étant un numéro de téléphone.
Au cours de cette procédure pas à pas, vous apprendrez à :
Créez une nouvelle Application Windows.
Ajouter un nouveau Contrôle utilisateur à votre projet.
Concevoir visuellement le contrôle utilisateur.
Implémenter l'attribut DefaultBindingProperty.
Créer un groupe de données avec 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 devrez :
- 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 le nouveau projet Windows
Dans le menu Fichier de Visual Studio, créez un nouveau Projet.
Nommez le projet ProcédureContrôleSimple.
Sélectionnez Application Windows, puis cliquez sur OK. Pour plus d'informations, consultez Création d'applications Windows.
Le projet ProcédureContrôleSimple 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 pouvant être lié à des données à partir d'un Contrôle utilisateur. Ajoutez un élément Contrôle utilisateur au projet ProcédureContrôleSimple.
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 étend le contrôle MaskedTextBox existant pour créer le contrôle PhoneNumberBox.
Pour concevoir le contrôle PhoneNumberBox
Faites glisser un contrôle MaskedTextBox de la Boîte à outils vers l'aire de conception du contrôle utilisateur.
Sélectionnez la balise active du contrôle MaskedTextBox que vous venez de faire glisser et sélectionnez 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 de liaison de données requis
Pour les contrôles simples qui prennent en charge la liaison de données, implémentez DefaultBindingPropertyAttribute.
Pour implémenter l'attribut DefaultBindingProperty
Basculez le contrôle PhoneNumberBox en mode Code. (Dans le menu Affichage, sélectionnez Code.)
Remplacez le code dans PhoneNumberBox par les éléments suivants :
<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
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(); } } }
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 fournie dans 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 l'installation 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.
Or
Sélectionnez Nouvelle connexion pour afficher la boîte de dialogue Ajouter une/Modifier la connexion. Pour plus d'informations, consultez Ajouter/Modifier une connexion, boîte de dialogue (Général).
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
La fenêtre Sources de données vous permet de définir le contrôle à créer avant de faire glisser des éléments vers un formulaire.
Pour définir la colonne Phone pour qu'elle crée une liaison avec le 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 de déroulement du nœud Customers et sélectionnez Details dans la liste de contrôles.
Cliquez sur la flèche de déroulement de la colonne Phone et sélectionnez Customize.
Sélectionnez PhoneNumberBox dans la liste de Contrôles associés dans la boîte de dialogue Options de personnalisation de l'interface utilisateur du formulaire de données.
Cliquez sur la flèche de déroulement de la colonne Phone et sélectionnez PhoneNumberBox.
Ajout de contrôles au formulaire
Vous pouvez créer les contrôles liés aux données en faisant glisser des éléments depuis la fenêtre Sources de données vers le formulaire.
Pour créer des contrôles liés aux données sur le formulaire
Faites glisser le nœud Customers principal de la fenêtre Sources de données sur le formulaire et vérifiez que le contrôle PhoneNumberBox est utilisé pour afficher les données dans la colonne Phone.
Les contrôles liés aux données avec des étiquettes descriptives s'affichent sur le formulaire, ainsi qu'une barre d'outils (BindingNavigator) pour naviguer au sein des enregistrements. Un NorthwindDataSet, un CustomersTableAdapter, un BindingSource et un BindingNavigator apparaissent 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 qui prend en charge la liaison de données. Les étapes suivantes les plus courantes sont :
Placer vos contrôles personnalisés dans une bibliothèque de contrôles pour pouvoir les réutiliser dans d'autres applications. Pour plus d'informations, consultez Windows Control Library Template.
Créer des contrôles qui prennent 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
Tâches
Concepts
Liaison de contrôles Windows Forms à des données dans Visual Studio
Liaison de contrôles à des données dans Visual Studio
Autres ressources
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