Freigeben über


Erstellen eines .NET Framework Windows Forms-Benutzersteuerelements, das einfache Datenbindung unterstützt

Hinweis

Die DataSet Klassen und verwandten Klassen sind ältere .NET Framework-Technologien aus den frühen 2000er Jahren, mit denen Anwendungen mit Daten im Arbeitsspeicher arbeiten können, während die Apps von der Datenbank getrennt sind. Die Technologien sind besonders nützlich für Apps, mit denen Benutzer Daten ändern und die Änderungen wieder in der Datenbank speichern können. Obwohl Datasets eine bewährte erfolgreiche Technologie sind, ist der empfohlene Ansatz für neue .NET-Anwendungen die Verwendung von Entity Framework Core. Entity Framework bietet eine natürlichere Möglichkeit zum Arbeiten mit tabellarischen Daten als Objektmodelle und verfügt über eine einfachere Programmierschnittstelle.

Wenn Sie Daten in Formularen in Windows-Anwendungen anzeigen, können Sie vorhandene Steuerelemente aus der Toolbox auswählen oder benutzerdefinierte Steuerelemente erstellen, wenn Ihre Anwendung Funktionen erfordert, die in den Standardsteuerelementen nicht verfügbar sind. In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie ein Steuerelement erstellen, das die DefaultBindingPropertyAttributeDatei implementiert. Steuerelemente, die DefaultBindingPropertyAttribute implementieren, können eine Eigenschaft enthalten, die an Daten gebunden werden kann. Solche Steuerelemente ähneln einem TextBox oder CheckBox.

Weitere Informationen zur Erstellung von Steuerelementen finden Sie unter Entwickeln von Windows Forms-Steuerelementen während der Entwurfsphase.

Beim Erstellen von Steuerelementen für die Verwendung in Datenbindungsszenarien sollten Sie eines der folgenden Datenbindungsattribute implementieren:

Datenbindungsattributverwendung
Implementieren Sie das DefaultBindingPropertyAttribute auf einfachen Steuerelementen, wie z. B. einem TextBox, die eine einzelne Spalte (oder Eigenschaft) von Daten anzeigen. (Dieser Prozess wird in dieser Anleitungsseite beschrieben.)
Implementieren Sie das ComplexBindingPropertiesAttribute auf Steuerelementen, wie einem DataGridView, das Listen (oder Tabellen) von Daten anzeigt. Weitere Informationen finden Sie unter Erstellen eines Windows Forms-Benutzersteuerelements, das komplexe Datenbindung unterstützt.
Implementieren Sie das LookupBindingPropertiesAttribute auf Steuerelementen, wie ein ComboBox Steuerelement, das Listen (oder Tabellen) von Daten anzeigt und auch eine einzelne Spalte oder Eigenschaft darstellen muss. Weitere Informationen finden Sie unter Erstellen eines Windows Forms-Benutzersteuerelements, das die Nachschlagedatenbindung unterstützt.

Diese exemplarische Vorgehensweise erstellt ein einfaches Steuerelement, das Daten aus einer einzelnen Spalte in einer Tabelle anzeigt. In diesem Beispiel wird die Phone Spalte der Customers Tabelle aus der Northwind-Beispieldatenbank verwendet. Das einfache Benutzersteuerelement zeigt unter Verwendung einer MaskedTextBox-Klasse und durch das Festlegen der Maske auf eine Telefonnummer die Telefonnummern des Kunden in einem Standard-Telefonnummernformat an.

Bei dieser exemplarischen Vorgehensweise lernen Sie Folgendes:

  • Erstellen Sie eine neue Windows Forms-App (.NET Framework).

  • Fügen Sie Ihrem Projekt ein neues Benutzersteuerelement hinzu.

  • Entwerfen Sie das Benutzersteuerelement visuell.

  • Implementieren Sie das DefaultBindingProperty Attribut.

  • Erstellen Sie ein Dataset mit dem Assistenten für die Datenquellenkonfiguration .

  • Legen Sie die Spalte "Telefon " im Fenster "Datenquellen " fest, um das neue Steuerelement zu verwenden.

  • Erstellen Sie ein Formular zum Anzeigen von Daten im neuen Steuerelement.

Voraussetzungen

Um dieses Lernprogramm abzuschließen, benötigen Sie die in Visual Studio installierten Workloads für .NET-Desktopentwicklung und Datenspeicherung und -verarbeitung. Um sie zu installieren, öffnen Sie Visual Studio Installer, und wählen Sie Ändern (oder Mehr>Ändern) neben der Version von Visual Studio aus, die Sie ändern möchten. Weitere Informationen finden Sie im Artikel Ändern von Visual Studio durch Hinzufügen oder Entfernen von Arbeitsauslastungen und Komponenten.

In dieser exemplarischen Vorgehensweise wird SQL Server Express LocalDB und die Northwind-Beispieldatenbank verwendet.

  1. Wenn Sie nicht über SQL Server Express LocalDB verfügen, installieren Sie sie entweder über die SQL Server Express-Downloadseite oder über das Visual Studio-Installationsprogramm. Im Visual Studio Installerkönnen Sie SQL Server Express LocalDB als Teil der Datenspeicher und Verarbeitung Workload oder als einzelne Komponente installieren.

  2. Installieren Sie die Northwind-Beispieldatenbank, indem Sie die folgenden Schritte ausführen:

    1. Öffnen Sie in Visual Studio das fenster SQL Server-Objekt-Explorer. (SQL Server-Objekt-Explorer wird als Teil der Datenspeicherungs- und Verarbeitungsauslastung im Visual Studio Installer installiert.) Erweitern Sie den SQL Server-Knoten . Klicken Sie mit der rechten Maustaste auf Ihre LocalDB-Instanz, und wählen Sie neue Abfrageaus.

      Ein Abfrage-Editor-Fenster wird geöffnet.

    2. Kopieren Sie das Northwind-Transact-SQL Skript in die Zwischenablage. Dieses T-SQL-Skript erstellt die Northwind-Datenbank von Grund auf neu und füllt sie mit Daten auf.

    3. Fügen Sie das T-SQL-Skript in den Abfrage-Editor ein, und wählen Sie dann die Schaltfläche Ausführen aus.

      Nach kurzer Zeit wird die Ausführung der Abfrage abgeschlossen, und die Northwind-Datenbank wird erstellt.

Erstellen einer Windows Forms-Anwendung

Der erste Schritt besteht darin, eine Windows Forms-App (.NET Framework) zu erstellen:

  1. Wählen Sie in Visual Studio im Menü "Datei" die Option "Neues Projekt"> aus.

  2. Erweitern Sie entweder Visual C# oder Visual Basic im linken Bereich, und wählen Sie dann Windows Desktop aus.

  3. Wählen Sie im mittleren Bereich den Projekttyp "Windows Forms-App " aus.

  4. Benennen Sie das Projekt "SimpleControlWalkthrough", und wählen Sie dann "OK" aus.

    Das Projekt SimpleControlWalkthrough wird erstellt und dem Lösungs-Explorer hinzugefügt.

Hinzufügen eines Benutzersteuerelements zum Projekt

Diese exemplarische Vorgehensweise erstellt ein einfaches datenbindungsfähiges Steuerelement aus einem Benutzersteuerelement. Hinzufügen eines Benutzersteuerelements zum SimpleControlWalkthrough-Projekt.

  1. Wählen Sie im Menü "Projekt " die Option "Benutzersteuerelement hinzufügen" aus.

  2. Geben Sie "PhoneNumberBox" im Bereich "Name" ein, und klicken Sie auf "Hinzufügen".

    Das PhoneNumberBox-Steuerelement wird dem Projektmappen-Explorer hinzugefügt und im Designer geöffnet.

Entwerfen Sie das PhoneNumberBox-Steuerelement

Diese exemplarische Vorgehensweise erweitert das vorhandene MaskedTextBox, um das PhoneNumberBox-Steuerelement zu erstellen.

  1. Ziehen Sie ein MaskedTextBox aus der Toolbox auf die Entwurfsoberfläche des Benutzersteuerelements.

  2. Wählen Sie den Smart-Tag des MaskedTextBox aus, den Sie gerade gezogen haben, und wählen Sie "Maske festlegen" aus.

  3. Wählen Sie "Telefonnummer" im Dialogfeld "Eingabemaske" aus, und klicken Sie auf OK, um die Maske festzulegen.

Hinzufügen des erforderlichen Datenbindungsattributs

Implementieren Sie für einfache Steuerelemente, die die Datenbindung unterstützen, folgendes DefaultBindingPropertyAttribute:

  1. Wechseln Sie zur Codeansicht des PhoneNumberBox-Steuerelements. (Wählen Sie im Menü "Ansicht " die Option "Code" aus.)

  2. Ersetzen Sie den Code im PhoneNumberBox-Objekt durch Folgendes:

    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. Wählen Sie im Menü Erstellen die Option Lösung erstellen aus.

Erstellen Sie eine Datenquelle aus Ihrer Datenbank

In diesem Schritt wird der Assistent für die Datenquellenkonfiguration verwendet, um eine Datenquelle basierend auf der Customers Tabelle in der Northwind-Beispieldatenbank zu erstellen. Sie müssen Zugriff auf die Northwind-Beispieldatenbank haben, um die Verbindung zu erstellen. Informationen zum Einrichten der Northwind-Beispieldatenbank finden Sie unter How to: Install sample databases.

  1. Klicken Sie zum Öffnen des Datenquellenfensters im Menü "Daten " auf " Datenquellen anzeigen".

  2. Wählen Sie im Fenster "Datenquellen " die Option "Neue Datenquelle hinzufügen " aus, um den Assistenten für die Datenquellenkonfiguration zu starten.

  3. Wählen Sie auf der Seite " Datenquellentyp auswählen " die Option "Datenbank" und dann "Weiter" aus.

  4. Führen Sie auf der Seite " Datenverbindung auswählen " eine der folgenden Aktionen aus:

    • Wenn eine Datenverbindung mit der Northwind-Beispieldatenbank in der Dropdownliste verfügbar ist, wählen Sie sie aus.

    • Wählen Sie "Neue Verbindung" aus, um das Dialogfeld "Verbindung hinzufügen/ändern " zu starten.

  5. Wenn Ihre Datenbank ein Kennwort erfordert, wählen Sie die Option aus, vertrauliche Daten einzuschließen, und wählen Sie dann "Weiter" aus.

  6. Klicken Sie auf der Seite "Verbindungszeichenfolge für die Anwendungs-Konfigurationsdatei speichern" auf "Weiter".

  7. Erweitern Sie auf der Seite "Datenbankobjekte auswählen " den Knoten "Tabellen ".

  8. Wählen Sie die Customers Tabelle und dann "Fertig stellen" aus.

    Das NorthwindDataSet wird ihrem Projekt hinzugefügt, und die Customers Tabelle wird im Fenster "Datenquellen " angezeigt.

Legen Sie fest, dass die Telefonspalte das PhoneNumberBox-Steuerelement verwendet.

Im Fenster "Datenquellen " können Sie festlegen, dass das Steuerelement vor dem Ziehen von Elementen auf das Formular erstellt wird:

  1. Öffnen Sie Form1 im Designer.

  2. Erweitern Sie den Knoten "Kunden " im Fenster "Datenquellen ".

  3. Klicken Sie auf den Dropdownlistenpfeil auf dem Knoten "Kunden ", und wählen Sie " Details " aus der Steuerelementliste aus.

  4. Klicken Sie auf den Dropdownlistenpfeil in der Spalte "Telefon ", und wählen Sie "Anpassen" aus.

  5. Wählen Sie " PhoneNumberBox" aus der Liste der zugeordneten Steuerelemente im Dialogfeld "Optionen für die Daten-UI-Anpassung" aus.

  6. Klicken Sie auf den Dropdownlistenpfeil in der Spalte "Telefon ", und wählen Sie "PhoneNumberBox" aus.

Hinzufügen von Steuerelementen zu dem Formular

Sie können die datengebundenen Steuerelemente erstellen, indem Sie Elemente aus dem Datenquellenfenster auf das Formular ziehen.

Um datengebundene Steuerelemente im Formular zu erstellen, ziehen Sie den Hauptknoten "Kunden " aus dem Fenster "Datenquellen " auf das Formular, und stellen Sie sicher, dass das PhoneNumberBox-Steuerelement verwendet wird, um die Daten in der Spalte "Telefon " anzuzeigen.

Datengebundene Steuerelemente mit beschreibenden Beschriftungen werden auf dem Formular zusammen mit einer Toolleiste (BindingNavigator) zum Navigieren in Datensätzen angezeigt. Ein NorthwindDataSet, ein CustomersTableAdapter, BindingSource und BindingNavigator werden im Komponentenüberlauf angezeigt.

Ausführen der Anwendung

Drücken Sie F5 , um die Anwendung auszuführen.

Nächste Schritte

Je nach Anwendungsanforderungen gibt es mehrere Schritte, die Sie nach dem Erstellen eines Steuerelements ausführen möchten, das die Datenbindung unterstützt. Zu den typischen nächsten Schritten gehören: