Créer un contrôle utilisateur de Windows Forms du .NET Framework qui prend en charge la liaison de données simple

Remarque

La DataSet classe et les classes associées sont des technologies .NET Framework héritées du début des années 2000 qui permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Les technologies sont particulièrement utiles pour les applications qui permettent aux utilisateurs de modifier les données et de conserver les modifications apportées à la base de données. Bien que les jeux de données soient une technologie éprouvée, l’approche recommandée pour les nouvelles applications .NET consiste à utiliser Entity Framework Core. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet et dispose d’une interface de programmation plus simple.

Lorsque vous affichez des données sur des formulaires dans des 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 nécessite des fonctionnalités qui ne sont pas disponibles dans les contrôles standard. Cette procédure pas à pas montre comment créer un contrôle qui implémente le DefaultBindingPropertyAttribute. Les contrôles qui implémentent le DefaultBindingPropertyAttribute peuvent contenir une propriété pouvant être liée à des données. Ces contrôles sont similaires à un 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.

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 le DefaultBindingPropertyAttribute sur des contrôles simples, tels qu'un 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.)
Appliquez les ComplexBindingPropertiesAttribute sur les contrôles, tels qu'un DataGridView, qui affichent des listes (ou des tableaux) de données. Pour plus d’informations, consultez Créer un contrôle utilisateur Windows Forms qui prend en charge la liaison de données complexe.
Implémentez le LookupBindingPropertiesAttribute sur les contrôles, comme un ComboBox, qui affichent des listes (ou des tables) de données, mais doivent également présenter une seule colonne ou propriété. Pour plus d’informations, consultez Créer un contrôle utilisateur Windows Forms qui prend 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 colonne unique 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 standard, en utilisant un MaskedTextBox et en réglant le masque au format d'un numéro de téléphone.

Au cours de cette procédure pas à pas, vous allez apprendre à :

  • Créez une application Windows Forms (.NET Framework).

  • Ajoutez un nouveau contrôle utilisateur à votre projet.

  • Concevez visuellement le contrôle utilisateur.

  • Implémentez l’attribut DefaultBindingProperty .

  • Créez un jeu de données avec l’assistant de configuration de la source de données.

  • Définissez la colonne Phone dans la fenêtre Sources de données pour utiliser le nouveau contrôle.

  • Créez un formulaire pour afficher les données dans le nouveau contrôle.

Conditions préalables

Pour suivre ce tutoriel, vous avez besoin des charges de travail de développement et de traitement de données.NET desktop installées dans Visual Studio. Pour les installer, ouvrez visual Studio Installer et choisissez Modifier (ou Plus>Modifier) en regard de la version de Visual Studio que vous souhaitez modifier. Consultez Modifier Visual Studio.

Cette procédure pas à pas utilise SQL Server Express LocalDB et l’exemple de base de données Northwind.

  1. Si sql Server Express LocalDB n’est pas installé, installez-le à partir de la page de téléchargement SQL Server Express ou via Visual Studio Installer. Dans Visual Studio Installer, vous pouvez installer SQL Server Express LocalDB dans le cadre du stockage et du traitement des données charge de travail, ou en tant que composant individuel.

  2. Installez l’exemple de base de données Northwind en procédant comme suit :

    1. Dans Visual Studio, ouvrez la fenêtre de l’Explorateur d’objets SQL Server. (L’Explorateur d’objets SQL Server est installé dans le cadre de la charge de travail de stockage et de traitement des données dans Visual Studio Installer.) Développez le nœud SQL Server . Cliquez avec le bouton droit sur votre instance LocalDB, puis sélectionnez nouvelle requête.

      Une fenêtre de l’éditeur de requête s’ouvre.

    2. Copiez le script Northwind Transact-SQL dans votre presse-papiers. Ce script T-SQL crée la base de données Northwind à partir de zéro et la remplit avec des données.

    3. Collez le script T-SQL dans l’éditeur de requête, puis choisissez le bouton Exécuter.

      Après un court laps de temps, la requête se termine et la base de données Northwind est créée.

Créer une application Windows Forms

La première étape consiste à créer une application Windows Forms (.NET Framework) :

  1. Dans Visual Studio, dans le menu Fichier, sélectionnez Nouveau>Projet.

  2. Développez Visual C# ou Visual Basic dans le volet gauche, puis sélectionnez Bureau Windows.

  3. Dans le volet central, sélectionnez le type de projet d’application Windows Forms .

  4. Nommez le projet SimpleControlWalkthrough, puis choisissez OK.

    Le projet SimpleControlWalkthrough est créé et ajouté à l’Explorateur de solutions.

Ajouter 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. Ajoutez un élément de contrôle utilisateur au projet SimpleControlWalkthrough :

  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.

Concevoir le composant de contrôle PhoneNumberBox

Cette procédure pas à pas s’étend sur l’existant MaskedTextBox pour créer le contrôle PhoneNumberBox :

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

  2. Sélectionnez la balise active sur l’élément MaskedTextBox que vous venez de faire glisser, puis choisissez Définir le masque.

  3. Sélectionnez Numéro de téléphone dans la boîte de dialogue Masque d’entrée , puis cliquez sur OK pour définir le masque.

Ajouter l’attribut de liaison de données requis

Pour les contrôles simples qui prennent en charge la liaison de données, implémentez le DefaultBindingPropertyAttribute.

  1. Basculez le contrôle PhoneNumberBox en mode code. (Dans le menu Affichage , choisissez Code.)

  2. Remplacez le code dans PhoneNumberBox par ce qui suit :

    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 , choisissez Générer la solution.

Créer 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 à la base de données d'exemple Northwind pour créer la connexion. Pour plus d’informations sur la configuration de l’exemple de base de données Northwind, consultez Guide pratique pour installer des exemples de bases de données.

  1. Pour ouvrir la fenêtre Sources de données , 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 la source de données .

  3. Dans la page Choisir un type de source de données , sélectionnez Base de données, puis Sélectionnez 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’échantillon de la base de données Northwind est disponible dans le menu déroulant, sélectionnez-la.

    • Sélectionnez Nouvelle connexion pour lancer la boîte de dialogue Ajouter/modifier la connexion .

  5. Si votre base de données nécessite un mot de passe, sélectionnez l’option pour inclure des données sensibles, puis sélectionnez Suivant.

  6. Dans la chaîne Enregistrer la connexion dans la page fichier configuration de l’application , cliquez sur Suivant.

  7. Dans la page Choisir vos objets de base de données , développez le nœud Tables .

  8. Sélectionnez le Customers tableau, puis sélectionnez Terminer.

    NorthwindDataSet est ajouté à votre projet, et la Customers table s’affiche dans la fenêtre Sources de données.

Configurer la colonne téléphone pour utiliser 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 sur votre formulaire :

  1. Ouvrez Form1 dans le concepteur.

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

  3. Cliquez sur la flèche de liste déroulante sur le nœud Clients , puis choisissez Détails dans la liste de contrôles.

  4. Cliquez sur la flèche de liste déroulante dans la colonne Téléphone , puis choisissez Personnaliser.

  5. Sélectionnez PhoneNumberBox dans la liste des contrôles associés dans la boîte de dialogue Options de personnalisation de l’interface utilisateur des données .

  6. Cliquez sur la flèche de liste déroulante sur la colonne Téléphone , puis choisissez PhoneNumberBox.

Ajouter des contrôles au formulaire

Vous pouvez créer les contrôles liés aux données en faisant glisser des éléments de 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 Clients 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 apparaissent sur le formulaire, ainsi qu’une bande d’outils (BindingNavigator) pour naviguer dans les enregistrements. Un NorthwindDataSet, CustomersTableAdapter, BindingSourceet BindingNavigator apparaît dans la barre d’état des composants.

Exécuter l’application

Appuyez sur F5 pour exécuter l’application.

Étapes suivantes

Selon les exigences de votre application, vous pouvez effectuer plusieurs étapes après avoir créé un contrôle prenant en charge la liaison de données. Voici quelques étapes suivantes classiques :