Av Sharlene Von Drehnen
Dela med sigTweetDela med sigE-post

Se hur du kan rita former, använda färger och rendera bilder i en WinForms-app.

Windows Forms är ett ramverk som låter dig bygga skrivbordsprogram. Du kan klicka och dra komponenter som knappar till ett visuellt användargränssnitt. Det hjälper dig också att manuellt skapa olika former i din kod.

Den här artikeln visar dig hur du lägger till linjer, former och bilder i din applikation. Den här handledningen använder Visual Studio 2019 Community Edition för att visa exempel.

Vilka är de inbyggda klasserna som används för att rita grafik?

Windows Forms använder C# programmeringsspråk. Dess inbyggda klasser och metoder låter dig rita olika former på en Windows Form-duk. Dessa inkluderar klasserna Grafik, Penna, Färg och Pensel.

instagram viewer
Klass Beskrivning
Grafik Grafikklassen låter dig rita former och linjer på duken. Det inkluderar metoder som:
  • DrawLine (Penna, Point1, Point2)
  • DrawRektangel (x, y, bredd, höjd)
  • DrawPolygon (Pen, PointF[])
Penna Klassen Pen låter dig specificera egenskaperna för en "penna" spets som du kan använda för att rita dina former. Du kan ange egenskaper som färg, tjocklek eller streckstil. Metoder inkluderar:
  • SetLineCap (LineCap, LineCap, DashCap)
Färg Ett färgobjekt som består av värdena R (röd), G (grön) och B (blå). Du behöver ett färgobjekt för många av de inbyggda metoderna som skapar former.
SolidBrush, HatchBrush, TextureBrush Dessa borstklasser härrör från "Brush"-gränssnittet. Dessa klasser låter dig färglägga tomma utrymmen på duken. Du kan också välja att fylla utrymmena med olika mönster eller texturer. Du kan ange egenskaper som färg.
Rektangel, Linje, Polygon, Ellips Du kan skapa objekt baserat på dessa former och använda dem när du anropar metoder som DrawRectangle(). Istället för att skicka x, y, bredd och höjd som argument, kan du välja att skicka ett befintligt rektangelobjekt istället.

För att se källkoden för ett körande exempel på ovanstående handledning, besök GitHub-förråd. Du kan prova följande exempel när du har gjort det skapat en Winforms-applikation.

Hur man lägger till en färg på Form Load Event Handler

Lägg först till en händelsehanterare för att rita former när arbetsytan laddas.

  1. Lägg till en färgfunktion för formuläret.
    privat void Form1_Paint (objektavsändare, PaintEventArgs e)
    {
    // Koden går här
    }
  2. Gå till fliken Designvy.
  3. I fönstret Egenskaper väljer du blixtikonen för att öppna fliken "Händelser".
  4. I "Paint", under "Appearance", välj Form1_Paint-funktionen. Detta kommer att köra funktionen när du kör programmet.

Hur man ritar linjer på en Windows Form Canvas

Du kan använda en färg, penna och metoden DrawLine() för att rita linjer på en duk.

  1. Inuti Form1_Paint()-funktionen skapar du ett Color-objekt med den färg du vill att linjen ska vara. Skapa sedan ett Pen-objekt att dra linjen med.
    Färg svart = Färg. FromArgb (255, 0, 0, 0);
    Penna svartPenna = ny Penna (svart);
  2. Metoden DrawLine() från klassen Graphics kommer att rita en linje med hjälp av pennan. Detta kommer att börja rita en linje från en x, y-position till en annan x, y-position.
    e. Grafik. DrawLine (blackPen, 300, 200, 800, 200);
  3. Du kan ändra egenskaperna för pennobjektet för att ändra dess bredd, streckstil och start- eller slutkapsel.
    svartPenna. Bredd = 20;
    svartPenna. DashStyle = System. Teckning. Drawing2D.DashStyle. Rusa;
    svartPenna. StartCap = System. Teckning. Drawing2D.LineCap. ArrowAnchor;
    e. Grafik. DrawLine (blackPen, 300, 200, 800, 200);
  4. Tryck på den gröna uppspelningsknappen högst upp i Visual Studio för att se ändringarna.

Hur man ritar former som rektanglar och cirklar

Du kan använda formklasserna för olika former eller rita former manuellt på duken.

  1. Skapa ett färg- och pennobjekt enligt de föregående stegen. Använd sedan metoden DrawRectangle() för att skapa rektangeln. Argumenten är x- och y-koordinaterna för rektangelns övre vänstra hörn, tillsammans med dess bredd och höjd.
    Färg röd = Färg. FromArgb (255, 255, 0, 0);
    Penna rödPenna = ny Penna (röd);
    röd penna. Bredd = 5;
    e. Grafik. DrawRectangle (redPen, 100, 100, 500, 200);
  2. Du kan också skapa en rektangel med klassen rektangel. Skapa först ett rektangelobjekt. Argumenten är också x- och y-koordinaterna för det övre vänstra hörnet, bredd och höjd.
    Rektangel rektangel = ny rektangel (100, 350, 500, 200);
  3. Använd funktionen DrawRectangle() för att rita rektangeln. Istället för att skicka x, y, bredd och höjd som tidigare, kan du använda Rectangle-objektet istället.
    e. Grafik. DrawRectangle (rödPenna, rektangel);
  4. Tryck på den gröna uppspelningsknappen högst upp i Visual Studio för att se ändringarna.
  5. Gå tillbaka till koden för att rita andra former. Använd DrawEllipse()-funktionen för att rita en cirkel.
    Färg grön = Färg. FromArgb (255, 0, 255, 0);
    Penna grönPenna = ny Penna (grön);
    greenPen. Bredd = 5;
    e. Grafik. DrawEllipse (grönPen, 400, 150, 400, 400);
    När du ritar en cirkel hänvisar x- och y-koordinaterna (x=400, y=150) till det övre vänstra hörnet av cirkeln, inte till cirkelns mitt.
  6. Använd metoden DrawPolygon() för att rita andra former som trianglar eller hexagoner. Här kan du ange en lista med koordinater för att representera punkterna i formen.
    Färg blå = Färg. FromArgb (255, 0, 0, 255);
    Penna bluePen = ny Penna (blå);
    blåPenna. Bredd = 5;
    PointF[] coordinatesForTriangle = new PointF[] {
    new PointF(400, 150),
    ny PointF(300, 300),
    ny PointF(500, 300)
    };
    e. Grafik. DrawPolygon (blåPenna, koordinater För Triangel);
    Metoden DrawPolygon() kommer att rita linjer mellan de angivna punkterna. ​​​​​​

Hur man använder borstklassen för att fylla i former med färg

Du kan använda metoderna FillRectangle(), FillEllipses() eller FillTriangle() för att skapa former med enfärgad färg.

  1. Skapa först ett penselobjekt.
    Färg lila = Färg. FromArgb (255, 128, 0, 0);
    SolidBrush solidBrush = ny SolidBrush (lila);
  2. Använd metoderna FillRectangle(), FillEllipses() eller FillTriangle(). De fungerar på samma sätt som ritningsfunktionerna ovan, förutom att istället för en penna använder de ett penselobjekt.
    e. Grafik. FillRectangle (solidBrush, 50, 50, 200, 250);
    e. Grafik. FillEllipse (solidBrush, 300, 50, 200, 200);
    e. Grafik. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) });
  3. Du kan också mata in ett formobjekt direkt istället för att tillhandahålla koordinater.
    Rektangel rektangel = ny rektangel (100, 350, 500, 200);
    e. Grafik. FillRectangle (solidBrush, rektangel);
  4. Använd HatchBrush för att fylla formen med en annan fyllningsstil, till exempel ett horisontellt eller vertikalt mönster.
    Färg blå = Färg. FromArgb (255, 0, 0, 255);
    Färg grön = Färg. FromArgb (255, 0, 255, 0);
    HatchBrush hatchBrush = ny HatchBrush (HatchStyle. Horisontell, grön, blå);
    e. Grafik. FillRectangle (hatchBrush, 50, 50, 200, 250);
  5. Du kan använda TextureBrush för att fylla en form med hjälp av en bild. Skapa här en bitmapp genom att peka på en bildfil. Istället för att skapa en pensel med en färg, skapa den med hjälp av bilden.
    Bitmappsbild = (Bitmapp) Bild. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", true);
    TextureBrush textureBrush = ny TextureBrush (bild);
    e. Grafik. FillRectangle (textureBrush, 100, 100, 500, 400);

Hur man återger bilder på formuläret

För att rendera en bild, skapa ett PictureBox-kontrollobjekt och lägg till det i formuläret.

  1. Skapa ett PictureBox-kontrollobjekt med hjälp av en bildfil.
    PictureBox bild = ny PictureBox();
    bild. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp";
  2. Ställ in storleken på bilden och lägg till den i formuläret så att den återges.
    bild. SizeMode = PictureBoxSizeMode. AutoSize;
    detta. Kontroller. Lägg till (bild);
  3. Tryck på den gröna startknappen längst upp för att se bilden.

Lägga till fler former i ditt Windows-formulär

Du bör nu förstå hur du lägger till linjer, former och bilder i ditt Windows-formulär. Du kan kombinera former för att skapa nya former. Du kan också leka med de inbyggda funktionerna för att skapa mer komplexa former.

Är ASP.NET värt att lära sig 2021?

Läs Nästa

Dela med sigTweetDela med sigE-post

Relaterade ämnen

  • Programmering
  • Programmering

Om författaren

Sharlene Von Drehnen (7 publicerade artiklar)

Sharlene är en Tech Writer på MUO och arbetar även heltid med mjukvaruutveckling. Hon har en kandidatexamen i IT och har tidigare erfarenhet av kvalitetssäkring och universitetshandledning. Sharlene älskar att spela och spela piano.

Mer från Sharlene Von Drehnen

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera