winformsAan de slag met winforms


Opmerkingen

Windows Forms (kortweg "WinForms") is een bibliotheek in GUI-klasse die bij het .NET Framework wordt geleverd. Het is een geavanceerde objectgeoriënteerde wrapper rond de Win32 API , waarmee Windows-desktop- en mobiele applicaties kunnen worden ontwikkeld die zijn gericht op .NET Framework .

WinForms is voornamelijk event-driven . Een applicatie bestaat uit meerdere formulieren (weergegeven als vensters op het scherm), die bedieningselementen (labels, knoppen, tekstvakken, lijsten, enz.) Bevatten waarmee de gebruiker rechtstreeks interactie heeft. Als reactie op gebruikersinteractie roepen deze besturingselementen gebeurtenissen op die door het programma kunnen worden afgehandeld om taken uit te voeren.

Net als in Windows is alles in WinForms een besturingselement, dat zelf een soort venster is. De basisbesturingsklasse biedt basisfunctionaliteit, inclusief eigenschappen voor het instellen van tekst, locatie, grootte en kleur, evenals een algemene reeks gebeurtenissen die kunnen worden afgehandeld. Alle bedieningselementen zijn afgeleid van de bedieningsklasse en voegen extra functies toe. Sommige besturingselementen kunnen andere besturingselementen hosten, hetzij voor herbruikbaarheid ( Form , UserControl ) of lay-out ( TableLayoutPanel , FlowLayoutPanel ).

WinForms wordt ondersteund sinds de oorspronkelijke versie van .NET Framework (v1.0) en is nog steeds beschikbaar in moderne versies (v4.5). Het wordt echter niet meer actief ontwikkeld en er worden geen nieuwe functies toegevoegd. Volgens 9 Microsoft-ontwikkelaars op de Build 2014-conferentie :

Windows Forms wordt nog steeds ondersteund, maar in onderhoudsmodus. Ze zullen bugs repareren zodra ze worden ontdekt, maar nieuwe functionaliteit is niet beschikbaar.

De platformonafhankelijke, open-source Monobibliotheek biedt een basisimplementatie van Windows Forms en ondersteunt alle functies die de implementatie van Microsoft deed vanaf .NET 2.0. WinForms is echter niet actief ontwikkeld op Mono en een volledige implementatie wordt als onmogelijk beschouwd, gezien de onlosmakelijk verbonden structuur van het framework met de native Windows API (die niet beschikbaar is in andere platforms).

Zie ook:

Een eenvoudige WinForms-toepassing maken met Visual Studio

Dit voorbeeld laat zien hoe u een Windows Forms Application-project maakt in Visual Studio.

Maak Windows Forms Project

  1. Start Visual Studio.

  2. Wijs in het menu Bestand de optie Nieuw aan en selecteer vervolgens Project . Het dialoogvenster Nieuw project verschijnt.

  3. Selecteer "Visual C #" of "Visual Basic" in het deelvenster Geïnstalleerde sjablonen .

  4. Boven het middelste paneel kunt u het doelkader selecteren in de vervolgkeuzelijst.

  5. Selecteer de Windows Forms Application- sjabloon in het middelste paneel.

  6. Typ in het tekstvak Naam een naam voor het project.

  7. Kies in het tekstvak Locatie een map om het project op te slaan.

  8. Klik op OK .

  9. De Windows Forms Designer wordt geopend en geeft Form1 van het project weer.

Besturingselementen toevoegen aan het formulier

  1. Sleep vanuit het palet Toolbox een knopbesturingselement naar het formulier.

  2. Klik op de knop om deze te selecteren. Stel in het venster Eigenschappen de eigenschap Text in op Hallo zeggen .

    Visual Studio-ontwerper, die een formulier met een knop toont

Schrijf code

  1. Dubbelklik op de knop om een gebeurtenishandler voor de Click gebeurtenis toe te voegen. De Code-editor wordt geopend met het invoegpunt in de gebeurtenisafhandelingsfunctie geplaatst.

  2. Typ de volgende code:

    C #

    MessageBox.Show("Hello, World!");
     

    VB.NET

    MessageBox.Show("Hello, World!")
     

Uitvoeren en testen

  1. Druk op F5 om de toepassing uit te voeren.

    Het formulier, zoals weergegeven tijdens het uitvoeren van de applicatie

  2. Wanneer uw toepassing actief is, klikt u op de knop om "Hallo wereld!" bericht.

    Een berichtenvak met de tekst 'Hallo wereld!'

  3. Sluit het formulier om terug te keren naar Visual Studio.

Een eenvoudige C # WinForms-toepassing maken met behulp van een teksteditor

  1. Open een teksteditor (zoals Kladblok) en typ de onderstaande code:

     using System;
     using System.ComponentModel;
     using System.Drawing;
     using System.Windows.Forms;
    
     namespace SampleApp
     {
         public class MainForm : Form
         {
             private Button btnHello;
    
             // The form's constructor: this initializes the form and its controls.
             public MainForm()
             {
                 // Set the form's caption, which will appear in the title bar.
                 this.Text = "MainForm";
    
                 // Create a button control and set its properties.
                 btnHello = new Button();
                 btnHello.Location = new Point(89, 12);
                 btnHello.Name = "btnHello";
                 btnHello.Size = new Size(105, 30);
                 btnHello.Text = "Say Hello";
    
                 // Wire up an event handler to the button's "Click" event
                 // (see the code in the btnHello_Click function below).
                 btnHello.Click += new EventHandler(btnHello_Click);
    
                 // Add the button to the form's control collection,
                 // so that it will appear on the form.
                 this.Controls.Add(btnHello);
             }
    
             // When the button is clicked, display a message.
             private void btnHello_Click(object sender, EventArgs e)
             {
                 MessageBox.Show("Hello, World!");
             }
    
             // This is the main entry point for the application.
             // All C# applications have one and only one of these methods.
             [STAThread]
             static void Main()
             {
                 Application.EnableVisualStyles();
                 Application.Run(new MainForm());
             }
         }
     }
     
  1. Sla het bestand op in een pad waartoe u lees- / schrijftoegang hebt. Het is gebruikelijk om het bestand een naam te geven naar de klasse die het bevat, bijvoorbeeld X:\MainForm.cs .
  1. Voer de C # compiler uit vanaf de opdrachtregel en geef het pad als argument door aan het codebestand:

     %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:winexe "X:\MainForm.cs"
     

    Opmerking: als u een versie van de C # -compiler voor andere .NET-frameworkversies wilt gebruiken, bekijkt u het pad %WINDIR%\Microsoft.NET en wijzigt u het bovenstaande voorbeeld dienovereenkomstig. Zie Compileren en voer uw eerste C # -programma uit voor meer informatie over het compileren van C # -toepassingen.

  1. Nadat de compilatie is voltooid, wordt een toepassing met de naam MainForm.exe gemaakt in dezelfde map als uw codebestand. U kunt deze toepassing uitvoeren vanaf de opdrachtregel of door erop te dubbelklikken in Verkenner.

Een eenvoudige VB.NET WinForms-toepassing maken met behulp van een teksteditor

  1. Open een teksteditor (zoals Kladblok) en typ de onderstaande code:

     Imports System.ComponentModel
     Imports System.Drawing
     Imports System.Windows.Forms
    
     Namespace SampleApp
         Public Class MainForm : Inherits Form
             Private btnHello As Button
     
             ' The form's constructor: this initializes the form and its controls.
             Public Sub New()
                 ' Set the form's caption, which will appear in the title bar.
                 Me.Text = "MainForm"
     
                 ' Create a button control and set its properties.
                 btnHello = New Button()
                 btnHello.Location = New Point(89, 12)
                 btnHello.Name = "btnHello"
                 btnHello.Size = New Size(105, 30)
                 btnHello.Text = "Say Hello"
     
                 ' Wire up an event handler to the button's "Click" event
                 ' (see the code in the btnHello_Click function below).
                 AddHandler btnHello.Click, New EventHandler(AddressOf btnHello_Click)
     
                 ' Add the button to the form's control collection,
                 ' so that it will appear on the form.
                 Me.Controls.Add(btnHello)
             End Sub
     
             ' When the button is clicked, display a message.
             Private Sub btnHello_Click(sender As Object, e As EventArgs)
                 MessageBox.Show("Hello, World!")
             End Sub
     
             ' This is the main entry point for the application.
             ' All VB.NET applications have one and only one of these methods.
             <STAThread> _
             Public Shared Sub Main()
                 Application.EnableVisualStyles()
                 Application.Run(New MainForm())
             End Sub
         End Class
     End Namespace
     
  1. Sla het bestand op in een pad waartoe u lees- / schrijftoegang hebt. Het is gebruikelijk om het bestand een naam te geven naar de klasse die het bevat, bijvoorbeeld X:\MainForm.vb .
  1. Voer de VB.NET-compiler uit vanaf de opdrachtregel en geef het pad als argument door aan het codebestand:

     %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\vbc.exe /target:winexe "X:\MainForm.vb"
     

    Opmerking: als u een versie van de VB.NET-compiler voor andere .NET-frameworkversies wilt gebruiken, kijkt u in het pad %WINDIR%\Microsoft.NET en wijzigt u het bovenstaande voorbeeld dienovereenkomstig. Zie Hello World voor meer informatie over het compileren van VB.NET-toepassingen.

  1. Nadat de compilatie is voltooid, wordt een toepassing met de naam MainForm.exe gemaakt in dezelfde map als uw codebestand. U kunt deze toepassing uitvoeren vanaf de opdrachtregel of door erop te dubbelklikken in Verkenner.