Delen via


Een .NET Framework Windows Forms-gebruikersbeheer maken dat eenvoudige gegevensbinding ondersteunt

Opmerking

De DataSet klassen en gerelateerde klassen zijn verouderde .NET Framework-technologieën uit het begin van de jaren 2000 waarmee toepassingen met gegevens in het geheugen kunnen werken terwijl de apps losgekoppeld zijn van de database. De technologieën zijn vooral handig voor apps waarmee gebruikers gegevens kunnen wijzigen en de wijzigingen weer kunnen behouden in de database. Hoewel gegevenssets een bewezen succesvolle technologie zijn, is de aanbevolen aanpak voor nieuwe .NET-toepassingen het gebruik van Entity Framework Core. Entity Framework biedt een natuurlijkere manier om met tabelgegevens te werken als objectmodellen en heeft een eenvoudigere programmeerinterface.

Wanneer u gegevens weergeeft in formulieren in Windows-toepassingen, kunt u bestaande besturingselementen in de werkset kiezen of aangepaste besturingselementen maken als uw toepassing functionaliteit vereist die niet beschikbaar is in de standaardbesturingselementen. In deze stapsgewijze instructie ziet u hoe u een besturingselement maakt waarmee het DefaultBindingPropertyAttribute wordt geïmplementeerd. Besturingselementen voor het implementeren van de DefaultBindingPropertyAttribute eigenschap kunnen één eigenschap bevatten die kan worden gebonden aan gegevens. Dergelijke controles zijn vergelijkbaar met een TextBox of CheckBox.

Zie Windows Forms-besturingselementen ontwikkelen tijdens het ontwerpen voor meer informatie over het ontwerpen van besturingselementen.

Bij het ontwerpen van besturingselementen voor gebruik in scenario's voor gegevensbinding moet u een van de volgende kenmerken voor gegevensbinding implementeren:

Gebruik van gegevensbindingskenmerken
Implementeer DefaultBindingPropertyAttribute op eenvoudige bedieningselementen, zoals een TextBox, die één kolom (of een eigenschap) weergeven. (Dit proces wordt beschreven op deze overzichtspagina.)
Implementeer de ComplexBindingPropertiesAttribute op besturingselementen, zoals een DataGridView, die lijsten (of tabellen) met gegevens weergeven. Zie Een gebruikersbeheer voor Windows Forms maken dat complexe gegevensbinding ondersteunt voor meer informatie.
Implementeer de LookupBindingPropertiesAttribute op besturingselementen, zoals een ComboBox, die lijsten (of tabellen) met gegevens weergeven maar ook een enkele kolom of eigenschap moeten presenteren. Zie Een Windows Forms-gebruikersbeheer maken dat ondersteuning biedt voor opzoekgegevensbinding voor meer informatie.

Dit stappenplan maakt een eenvoudig gebruikerscontrole dat gegevens uit één kolom in een tabel weergeeft. In dit voorbeeld wordt de Phone kolom van de Customers tabel uit de voorbeelddatabase Northwind gebruikt. Het eenvoudige gebruikersinterface-element geeft de telefoonnummers van klanten weer in een standaard telefoonnummernotatie, door een MaskedTextBox te gebruiken en het masker in te stellen op een telefoonnummer.

Tijdens deze rondleiding leert u hoe u het volgende kunt uitvoeren:

  • Maak een nieuwe Windows Forms-app (.NET Framework).

  • Voeg een nieuw gebruikersbeheer toe aan uw project.

  • Ontwerp het gebruikersbeheer visueel.

  • Implementeer het DefaultBindingProperty kenmerk.

  • Maak een gegevensset met de wizard Gegevensbronconfiguratie .

  • Stel de kolom Telefoon in het venster Gegevensbronnen in om het nieuwe besturingselement te gebruiken.

  • Maak een formulier om gegevens weer te geven in het nieuwe besturingselement.

Vereiste voorwaarden

Voor het voltooien van deze zelfstudie hebt u de ontwikkel- en gegevensopslag- en verwerkingsworkloads van .NET nodig die zijn geïnstalleerd in Visual Studio. Als u deze wilt installeren, opent u Visual Studio Installer en kiest u Wijzigen (of Meer>Wijzigen) naast de versie van Visual Studio die u wilt wijzigen. Zie Visual Studio wijzigen.

In dit scenario worden SQL Server Express LocalDB en de Northwind-voorbeelddatabase gebruikt.

  1. Als u geen SQL Server Express LocalDB hebt, installeert u deze via de downloadpagina van SQL Server Express of via het installatieprogramma van Visual Studio. In de Visual Studio Installerkunt u SQL Server Express LocalDB installeren als onderdeel van de Gegevensopslag en -verwerking workload of als een afzonderlijk onderdeel.

  2. Installeer de Northwind-voorbeelddatabase door de volgende stappen uit te voeren:

    1. Open in Visual Studio het venster SQL Server-objectverkenner. (SQL Server Object Explorer wordt geïnstalleerd als onderdeel van de werkbelasting voor gegevensopslag en -verwerking in het Installatieprogramma van Visual Studio.) Vouw het SQL Server-knooppunt uit. Klik met de rechtermuisknop op uw LocalDB-exemplaar en selecteer Nieuwe query.

      Er wordt een venster van de queryeditor geopend.

    2. Kopieer het script Northwind Transact-SQL naar het klembord. Met dit T-SQL-script wordt de volledig nieuwe Northwind-database gemaakt en gevuld met gegevens.

    3. Plak het T-SQL-script in de queryeditor en kies vervolgens de knop uitvoeren.

      Na korte tijd wordt de query uitgevoerd en wordt de Northwind-database gemaakt.

Een Windows Forms-toepassing maken

De eerste stap is het maken van een Windows Forms-app (.NET Framework):

  1. Selecteer In Visual Studio in het menu Bestand de optie Nieuw>project.

  2. Vouw Visual C# of Visual Basic uit in het linkerdeelvenster en selecteer Vervolgens Windows Desktop.

  3. Selecteer in het middelste deelvenster het projecttype Windows Forms App .

  4. Geef het project de naam SimpleControlWalkthrough en kies OK.

    Het SimpleControlWalkthrough-project wordt gemaakt en toegevoegd aan Solution Explorer.

Een gebruikersbeheer toevoegen aan het project

Met deze handleiding maakt u een eenvoudig gegevensbindbaar besturingselement op basis van een gebruikersbesturingselement. Voeg een item gebruikersbeheer toe aan het SimpleControlWalkthrough-project :

  1. Kies Gebruikersbeheer toevoegen in het menu Project.

  2. Typ PhoneNumberBox in het gebied Naam en klik op Toevoegen.

    Het besturingselement PhoneNumberBox wordt toegevoegd aan Solution Explorer en wordt geopend in de ontwerpfunctie.

Het PhoneNumberBox-besturingselement ontwerpen

Deze walkthrough breidt het bestaande MaskedTextBox uit om het PhoneNumberBox-besturingselement te creëren.

  1. Sleep een MaskedTextBox van de Toolbox naar het ontwerpoppervlak van de gebruikerscontrole.

  2. Selecteer de slimme tag op het MaskedTextBox dat u zojuist hebt gesleept en kies Mask instellen.

  3. Selecteer Telefoonnummer in het dialoogvenster Invoermasker en klik op OK om het masker in te stellen.

Het vereiste kenmerk voor gegevensbinding toevoegen

Voor eenvoudige besturingselementen die gegevensbinding ondersteunen, implementeert u de DefaultBindingPropertyAttribute:

  1. Schakel het besturingselement PhoneNumberBox over naar de codeweergave. (Kies Code in het menu Beeld.)

  2. Vervang de code in PhoneNumberBox door het volgende:

    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. Kies Build Solution in het menu Build.

Een gegevensbron maken op basis van uw database

In deze stap wordt de wizard Gegevensbronconfiguratie gebruikt om een gegevensbron te maken op basis van de Customers tabel in de Northwind-voorbeelddatabase. U moet toegang hebben tot de Northwind-voorbeelddatabase om de verbinding te maken. Zie Instructies voor het instellen van de Northwind-voorbeelddatabase : Voorbeelddatabases installeren.

  1. Als u het venster Gegevensbronnen wilt openen, klikt u in het menu Gegevens op Gegevensbronnen weergeven.

  2. Selecteer in het venster Gegevensbronnen de optie Nieuwe gegevensbron toevoegen om de wizard Gegevensbronconfiguratie te starten.

  3. Selecteer op de pagina Een gegevensbrontype kiezen de optie Database en selecteer vervolgens Volgende.

  4. Voer op de pagina Uw gegevensverbinding kiezen een van de volgende handelingen uit:

    • Als een gegevensverbinding met de voorbeelddatabase Northwind beschikbaar is in de vervolgkeuzelijst, selecteert u deze.

    • Selecteer Nieuwe verbinding om het dialoogvenster Verbinding toevoegen/wijzigen te openen.

  5. Als uw database een wachtwoord vereist, selecteert u de optie om gevoelige gegevens op te nemen en klikt u vervolgens op Volgende.

  6. Klik op de pagina Verbindingsreeks opslaan naar het Configuratiebestand van de Toepassing op Volgende.

  7. Vouw op de pagina Databaseobjecten kiezen het knooppunt Tabellen uit.

  8. Selecteer de Customers tabel en selecteer Voltooien.

    De NorthwindDataSet wordt toegevoegd aan uw project en de Customers tabel wordt weergegeven in het venster Gegevensbronnen .

Stel de telefoonkolom in om het besturingselement PhoneNumberBox te gebruiken

In het venster Gegevensbronnen kunt u instellen dat het besturingselement moet worden gemaakt voordat u items naar het formulier sleept:

  1. Open Form1- in de ontwerpfunctie.

  2. Vouw het knooppunt Klanten uit in het venster Gegevensbronnen .

  3. Klik op de vervolgkeuzepijl op het knooppunt Klanten en kies Details in de besturingslijst.

  4. Klik op de vervolgkeuzelijstpijl in de kolom Telefoon en kies Aanpassen.

  5. Selecteer PhoneNumberBox in de lijst met geassocieerde controles in het dialoogvenster Aanpassingsopties voor de Data-UI.

  6. Klik op de pijl van de vervolgkeuzelijst in de kolom Telefoon en kies PhoneNumberBox.

Besturingselementen toevoegen aan het formulier

U kunt datagebonden besturingselementen maken door items uit het venster Gegevensbronnen naar het formulier te slepen.

Als u gegevensgebonden besturingselementen in het formulier wilt maken, sleept u het hoofdknooppunt Klanten van het venster Gegevensbronnen naar het formulier en controleert u of het besturingselement PhoneNumberBox wordt gebruikt om de gegevens in de kolom Telefoon weer te geven.

Gegevensgebonden besturingselementen met beschrijvende labels worden weergegeven in het formulier, samen met een hulpmiddelstrook (BindingNavigator) voor het navigeren door records. Een NorthwindDataSet, CustomersTableAdapter, BindingSource, en BindingNavigator verschijnen in de componentenlade.

De toepassing uitvoeren

Druk op F5- om de toepassing uit te voeren.

Volgende stappen

Afhankelijk van uw toepassingsvereisten zijn er verschillende stappen die u mogelijk wilt uitvoeren nadat u een besturingselement hebt gemaakt dat ondersteuning biedt voor gegevensbinding. Enkele typische volgende stappen zijn: