Procédure pas à pas : création d'un contrôle utilisateur prenant en charge la liaison de données simple

Mise à jour : novembre 2007

Lorsque vous affichez des données sur les formulaires dans les applications Windows, vous pouvez choisir des contrôles existants de la Boîte à outils, ou vous pouvez 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 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 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éer 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'Assistant Configuration de source de données.

  • 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 :

Création d'une application Windows

La première étape consiste à créer une Application Windows.

Pour créer le nouveau projet Windows

  1. Dans le menu Fichier de Visual Studio, créez un nouveau Projet.

  2. Nommez le projet ProcédureContrôleSimple.

  3. 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

  1. Dans le menu Projet, choisissez Ajouter un contrôle utilisateur.

  2. 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

  1. Faites glisser un contrôle MaskedTextBox de la Boîte à outils vers l'aire de conception du contrôle utilisateur.

  2. Sélectionnez la balise active du contrôle MaskedTextBox que vous venez de faire glisser et sélectionnez Définir le masque.

  3. 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

  1. Basculez le contrôle PhoneNumberBox en mode Code. (Dans le menu Affichage, sélectionnez Code.)

  2. 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();
            }
        }
    }
    
  3. 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

  1. Dans le menu Données, cliquez sur Afficher les sources de données.

  2. 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.

  3. Sélectionnez Base de données dans la page Choisir un type de source de données, puis cliquez sur Suivant.

  4. 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 une/Modifier la connexion. Pour plus d'informations, consultez Ajouter/Modifier une connexion, boîte de dialogue (Général).

  5. 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.

  6. Cliquez sur Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application.

  7. Développez le nœud Tables dans la page Choisir vos objets de base de données.

  8. 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

  1. Ouvrez Form1 dans le concepteur.

  2. Développez le nœud Customers dans la fenêtre Sources de données.

  3. Cliquez sur la flèche de déroulement du nœud Customers et sélectionnez Details dans la liste de contrôles.

  4. Cliquez sur la flèche de déroulement de la colonne Phone et sélectionnez Customize.

  5. 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.

  6. 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 :

Voir aussi

Tâches

Comment : 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

Concepts

Vue d'ensemble de l'affichage des données

Autres ressources

Mise en route avec l'accès aux données

Connexion aux données dans Visual Studio

Préparation de votre application pour recevoir des données

Extraction de données dans votre application

Affichage des données sur des formulaires dans les applications Windows

Modification des données dans votre application

Validation des données

Enregistrement des données