Door Sharlene Von Drehnen
DelenTweetenDelenE-mail

Bekijk hoe u vormen kunt tekenen, kleuren kunt gebruiken en afbeeldingen kunt renderen in een WinForms-app.

Windows Forms is een raamwerk waarmee u desktoptoepassingen kunt bouwen. U kunt componenten zoals knoppen klikken en slepen naar een visuele gebruikersinterface. Het helpt je ook om handmatig verschillende vormen in je code te maken.

In dit artikel wordt uitgelegd hoe u lijnen, vormen en afbeeldingen aan uw toepassing kunt toevoegen. In deze zelfstudie wordt de Visual Studio 2019 Community-editie gebruikt om voorbeelden weer te geven.

Wat zijn de ingebouwde klassen die worden gebruikt voor het tekenen van afbeeldingen?

Windows Forms gebruikt de C# programmeertaal. Met de ingebouwde klassen en methoden kunt u verschillende vormen op een Windows Form-canvas tekenen. Deze omvatten de klassen Graphics, Pen, Color en Brush.

Klas Beschrijving
Grafische afbeeldingen Met de klasse Graphics kunt u vormen en lijnen op het canvas tekenen. Het omvat methoden zoals:
instagram viewer
  • DrawLine (Pen, Punt1, Punt2)
  • DrawRectangle (x, y, breedte, hoogte)
  • DrawPolygon (Pen, PuntF[])
Pen Met de klasse Pen kunt u de eigenschappen van een 'pen'-punt specificeren waarmee u uw vormen kunt tekenen. U kunt eigenschappen opgeven zoals kleur, dikte of streepjesstijl. Methoden zijn onder meer:
  • SetLineCap (LineCap, LineCap, DashCap)
Kleur Een kleurobject dat bestaat uit R (rood), G (groen) en B (blauw) waarden. U hebt een kleurobject nodig voor veel van de ingebouwde methoden om vormen te maken.
SolidBrush, HatchBrush, TextureBrush Deze penseelklassen zijn afgeleid van de "Brush"-interface. Met deze lessen kun je lege plekken op het canvas inkleuren. Je kunt er ook voor kiezen om de ruimtes te vullen met verschillende patronen of texturen. U kunt eigenschappen opgeven, zoals de kleur.
Rechthoek, Lijn, Veelhoek, Ellips U kunt objecten maken op basis van deze vormen en deze gebruiken bij het aanroepen van methoden zoals DrawRectangle(). In plaats van de x, y, width en height als argumenten door te geven, kunt u ervoor kiezen om in plaats daarvan een bestaand Rectangle-object door te geven.

Om de broncode voor een lopend voorbeeld van de bovenstaande zelfstudie te bekijken, gaat u naar de GitHub-opslagplaats. U kunt de volgende voorbeelden uitproberen zodra u een Winforms-toepassing gemaakt.

Een verf toevoegen aan de gebeurtenishandler voor het laden van formulieren

Voeg eerst een gebeurtenishandler toe om vormen te tekenen wanneer het canvas wordt geladen.

  1. Voeg een Paint-functie toe voor het formulier.
    private void Form1_Paint (objectafzender, PaintEventArgs e)
    {
    // Code komt hier
    }
  2. Ga naar het tabblad Ontwerpweergave.
  3. Selecteer in het venster Eigenschappen het bliksempictogram om het tabblad "Gebeurtenissen" te openen.
  4. Selecteer in "Paint" onder "Appearance" de functie Form1_Paint. Hiermee wordt de functie uitgevoerd wanneer u de toepassing uitvoert.

Lijnen tekenen op een Windows Form Canvas

U kunt een methode Kleur, Pen en DrawLine() gebruiken om lijnen op een canvas te tekenen.

  1. Maak in de functie Form1_Paint() een object Kleur met de kleur die u voor de lijn wilt hebben. Maak vervolgens een Pen-object om de lijn mee te tekenen.
    Kleur zwart = Kleur. VanArgb (255, 0, 0, 0);
    Pen zwartPen = nieuwe Pen (zwart);
  2. De methode DrawLine() van de klasse Graphics tekent een lijn met de pen. Dit zal beginnen met het tekenen van een lijn van een x, y-positie naar een andere x, y-positie.
    e. Grafisch. DrawLine (zwarte pen, 300, 200, 800, 200);
  3. U kunt de eigenschappen van het penobject wijzigen om de breedte, streepjesstijl en begin- of eindkap te wijzigen.
    zwarte pen. Breedte = 20;
    zwarte pen. DashStyle = Systeem. Tekening. Tekening2D.DashStyle. Streepje;
    zwarte pen. StartCap = Systeem. Tekening. Tekening2D.LineCap. PijlAnker;
    e. Grafisch. DrawLine (zwarte pen, 300, 200, 800, 200);
  4. Druk op de groene afspeelknop bovenaan Visual Studio om de wijzigingen te zien.

Vormen tekenen zoals rechthoeken en cirkels

U kunt de vormenklassen voor verschillende vormen gebruiken of handmatig vormen op het canvas tekenen.

  1. Maak een Color and Pen-object zoals getoond in de vorige stappen. Gebruik vervolgens de methode DrawRectangle() om de rechthoek te maken. De argumenten zijn de x- en y-coördinaten voor de linkerbovenhoek van de rechthoek, samen met de breedte en hoogte.
    Kleur rood = Kleur. VanArgb (255, 255, 0, 0);
    Pen roodPen = nieuwe Pen (rood);
    rode pen. Breedte = 5;
    e. Grafisch. DrawRectangle (redPen, 100, 100, 500, 200);
  2. U kunt ook een rechthoek maken met de klasse Rechthoek. Maak eerst een Rectangle-object. De argumenten zijn ook de x- en y-coördinaten voor de linkerbovenhoek, breedte en hoogte.
    Rechthoek rechthoek = nieuwe rechthoek (100, 350, 500, 200);
  3. Gebruik de functie DrawRectangle() om de rechthoek te tekenen. In plaats van de x, y, breedte en hoogte zoals eerder door te geven, kunt u in plaats daarvan het object Rectangle gebruiken.
    e. Grafisch. DrawRectangle (redPen, rechthoek);
  4. Druk op de groene afspeelknop bovenaan Visual Studio om de wijzigingen te zien.
  5. Ga terug naar de code om andere vormen te tekenen. Gebruik de functie DrawEllipse() om een ​​cirkel te tekenen.
    Kleur groen = Kleur. VanArgb (255, 0, 255, 0);
    Pen groenPen = nieuwe Pen (groen);
    groenePen. Breedte = 5;
    e. Grafisch. DrawEllipse (groene pen, 400, 150, 400, 400);
    Wanneer u een cirkel tekent, verwijzen de x- en y-coördinaten (x=400, y=150) naar de linkerbovenhoek van de cirkel, niet naar het middelpunt van de cirkel.
  6. Gebruik de methode DrawPolygon() om andere vormen, zoals driehoeken of zeshoeken, te tekenen. Hier kunt u een lijst met coördinaten specificeren om de punten van de vorm weer te geven.
    Kleur blauw = Kleur. FromArgb (255, 0, 0, 255);
    Pen blauwPen = nieuwe Pen (blauw);
    blauwe pen. Breedte = 5;
    PuntF[] coördinatenForTriangle = nieuw PuntF[] {
    nieuw PuntF(400, 150),
    nieuw PuntF(300, 300),
    nieuw puntF(500, 300)
    };
    e. Grafisch. DrawPolygon (bluePen, coördinatenForTriangle);
    De methode DrawPolygon() tekent lijnen tussen de opgegeven punten. ​​​​​​

De penseelklasse gebruiken om vormen met kleur in te vullen

U kunt de methoden FillRectangle(), FillEllipses() of FillTriangle() gebruiken om vormen met een effen kleur te maken.

  1. Maak eerst een penseelobject.
    Kleur paars = Kleur. VanArgb (255, 128, 0, 0);
    SolidBrush solidBrush = nieuwe SolidBrush (paars);
  2. Gebruik de methoden FillRectangle(), FillEllipses() of FillTriangle(). Ze werken op dezelfde manier als de bovenstaande tekenfuncties, behalve dat ze in plaats van een pen een penseelobject gebruiken.
    e. Grafisch. FillRectangle (solidBrush, 50, 50, 200, 250);
    e. Grafisch. FillEllipse (solidBrush, 300, 50, 200, 200);
    e. Grafisch. FillPolygon (solidBrush, nieuwe PointF [] {nieuwe PointF(700, 150), nieuwe PointF(600, 300), nieuwe PointF(800, 300)});
  3. U kunt ook rechtstreeks een vormobject invoeren in plaats van coördinaten op te geven.
    Rechthoek rechthoek = nieuwe rechthoek (100, 350, 500, 200);
    e. Grafisch. FillRectangle (solidBrush, rechthoek);
  4. Gebruik de HatchBrush om de vorm te vullen met een andere vulstijl, zoals een horizontaal of verticaal patroon.
    Kleur blauw = Kleur. FromArgb (255, 0, 0, 255);
    Kleur groen = Kleur. VanArgb (255, 0, 255, 0);
    HatchBrush hatchBrush = nieuwe HatchBrush (HatchStyle. Horizontaal, groen, blauw);
    e. Grafisch. FillRectangle (hatchBrush, 50, 50, 200, 250);
  5. U kunt de TextureBrush gebruiken om een ​​vorm te vullen met een afbeelding. Maak hier een bitmap door naar een afbeeldingsbestand te wijzen. In plaats van een penseel te maken met een kleur, maak je het met behulp van de afbeelding.
    Bitmapafbeelding = (Bitmap) Afbeelding. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", true);
    TextureBrush textureBrush = nieuwe TextureBrush (afbeelding);
    e. Grafisch. FillRectangle (textureBrush, 100, 100, 500, 400);

Hoe afbeeldingen op het formulier te renderen

Om een ​​afbeelding weer te geven, maakt u een PictureBox-besturingsobject en voegt u dit toe aan het formulier.

  1. Maak een PictureBox-besturingsobject met behulp van een afbeeldingsbestand.
    PictureBox-afbeelding = nieuwe PictureBox();
    afbeelding. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp";
  2. Stel de grootte van de afbeelding in en voeg deze toe aan het formulier zodat deze wordt weergegeven.
    afbeelding. SizeMode = PictureBoxSizeMode. Automatische grootte;
    deze. Controles. Toevoegen (foto);
  3. Druk op de groene startknop bovenaan om de afbeelding te bekijken.

Meer vormen toevoegen aan uw Windows-formulier

U zou nu moeten begrijpen hoe u lijnen, vormen en afbeeldingen aan uw Windows-formulier kunt toevoegen. U kunt vormen combineren om nieuwe vormen te maken. Je kunt ook spelen met de ingebouwde functies om complexere vormen te maken.

Is ASP.NET het leren waard in 2021?

Lees volgende

DelenTweetenDelenE-mail

Gerelateerde onderwerpen

  • Programmeren
  • Programmeren

Over de auteur

Sharlene von Drehnen (7 artikelen gepubliceerd)

Sharlene is een Tech Writer bij MUO en werkt ook fulltime in Software Development. Ze heeft een Bachelor of IT en heeft eerdere ervaring in kwaliteitszorg en universitaire bijles. Sharlene houdt van gamen en piano spelen.

Meer van Sharlene Von Drehnen

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren