Se, hvordan du kan tegne former, bruge farver og gengive billeder i en WinForms-app.
Windows Forms er en ramme, der lader dig bygge desktop-applikationer. Du kan klikke og trække komponenter som knapper til en visuel brugergrænseflade. Det hjælper dig også med manuelt at oprette forskellige former i din kode.
Denne artikel viser dig, hvordan du tilføjer linjer, former og billeder til din applikation. Denne vejledning bruger Visual Studio 2019 Community Edition til at vise eksempler.
Hvad er de indbyggede klasser, der bruges til at tegne grafik?
Windows Forms bruger C# programmeringssprog. Dens indbyggede klasser og metoder giver dig mulighed for at tegne forskellige former på et Windows Form-lærred. Disse inkluderer grafik-, pen-, farve- og penselklasserne.
klasse | Beskrivelse |
---|---|
Grafik | Grafikklassen giver dig mulighed for at tegne former og linjer på lærredet. Det omfatter metoder som:
|
Pen | Pen-klassen giver dig mulighed for at angive egenskaberne for en "pen"-spids, som du kan bruge til at tegne dine former. Du kan angive egenskaber såsom farve, tykkelse eller stregstil. Metoder omfatter:
|
Farve | Et farveobjekt, der består af værdierne R (rød), G (grøn) og B (blå). Du skal bruge et farveobjekt til mange af de indbyggede metoder, der skaber former. |
SolidBrush, HatchBrush, TextureBrush | Disse børsteklasser stammer fra "Brush"-grænsefladen. Disse klasser giver dig mulighed for at farvelægge tomme rum på lærredet. Du kan også vælge at udfylde mellemrummene ved hjælp af forskellige mønstre eller teksturer. Du kan angive egenskaber såsom farven. |
Rektangel, Linje, Polygon, Ellipse | Du kan oprette objekter baseret på disse former og bruge dem, når du kalder metoder såsom DrawRectangle(). I stedet for at overføre x, y, bredde og højde som argumenter, kan du vælge at sende et eksisterende rektangelobjekt i stedet for. |
For at se kildekoden til et kørende eksempel på ovenstående vejledning, besøg GitHub-depot. Du kan prøve følgende eksempler, når du har gjort det oprettet en Winforms-applikation.
Sådan tilføjer du en maling på Form Load Event Handler
Tilføj først en hændelseshandler for at tegne figurer, når lærredet indlæses.
- Tilføj en Paint-funktion til formularen.
privat void Form1_Paint (objektafsender, PaintEventArgs e)
{
// Koden går her
} - Gå ind på fanen Designvisning.
- I vinduet Egenskaber skal du vælge lynikonet for at åbne fanen "Begivenheder".
- I "Paint" under "Appearance" skal du vælge Form1_Paint-funktionen. Dette vil udføre funktionen, når du kører programmet.
Sådan tegner du linjer på et Windows-formularlærred
Du kan bruge en Color, Pen og DrawLine()-metoden til at tegne linjer på et lærred.
- Inde i Form1_Paint()-funktionen skal du oprette et farveobjekt med den farve, du ønsker, at linjen skal være. Opret derefter et Pen-objekt til at tegne linjen med.
Farve sort = Farve. FromArgb (255, 0, 0, 0);
Pen sortPen = ny Pen (sort); - DrawLine()-metoden fra Graphics-klassen vil tegne en linje ved hjælp af pennen. Dette vil begynde at tegne en linje fra en x, y-position til en anden x, y-position.
e. Grafik. DrawLine (sortPen, 300, 200, 800, 200);
- Du kan ændre egenskaberne for penobjektet for at ændre dets bredde, stregstil og start- eller endestykke.
sortPen. Bredde = 20;
sortPen. DashStyle = System. Tegning. Drawing2D.DashStyle. Dash;
sortPen. StartCap = System. Tegning. Drawing2D.LineCap. ArrowAnchor;
e. Grafik. DrawLine (sortPen, 300, 200, 800, 200); - Tryk på den grønne afspilningsknap øverst i Visual Studio for at se ændringerne.
Sådan tegner du former såsom rektangler og cirkler
Du kan bruge formklasserne til forskellige former eller tegne figurer manuelt på lærredet.
- Opret et farve- og penobjekt som vist i de foregående trin. Brug derefter metoden DrawRectangle() til at oprette rektanglet. Argumenterne er x- og y-koordinaterne for rektanglets øverste venstre side, sammen med dets bredde og højde.
Farve rød = Farve. FromArgb (255, 255, 0, 0);
Pen rødPen = ny Pen (rød);
rødPen. Bredde = 5;
e. Grafik. DrawRektangel (rødPen, 100, 100, 500, 200); - Du kan også oprette et rektangel ved hjælp af rektangelklassen. Først skal du oprette et rektangelobjekt. Argumenterne er også x- og y-koordinaterne for øverste venstre hjørne, bredde og højde.
Rektangel rektangel = nyt rektangel (100, 350, 500, 200);
- Brug funktionen DrawRectangle() til at tegne rektanglet. I stedet for at overføre x, y, bredde og højde som før, kan du bruge Rectangle-objektet i stedet.
e. Grafik. DrawRektangel (rødPen, rektangel);
- Tryk på den grønne afspilningsknap øverst i Visual Studio for at se ændringerne.
- Gå tilbage til koden for at tegne andre figurer. Brug funktionen DrawEllipse() til at tegne en cirkel.
Når du tegner en cirkel, henviser x- og y-koordinaterne (x=400, y=150) til det øverste venstre hjørne af cirklen, ikke til midten af cirklen.Farve grøn = Farve. FromArgb (255, 0, 255, 0);
Pen grønPen = ny Pen (grøn);
greenPen. Bredde = 5;
e. Grafik. DrawEllipse (grønPen, 400, 150, 400, 400); - Brug metoden DrawPolygon() for at tegne andre former, såsom trekanter eller sekskanter. Her kan du angive en liste over koordinater til at repræsentere punkterne i formen.
Metoden DrawPolygon() vil tegne linjer mellem de angivne punkter. Farve blå = farve. FromArgb (255, 0, 0, 255);
Pen blåPen = ny Pen (blå);
blåPen. Bredde = 5;
PointF[] koordinaterForTriangle = nyt PunktF[] {
ny PointF(400, 150),
ny PointF(300, 300),
ny PointF(500, 300)
};
e. Grafik. DrawPolygon (blåPen, koordinaterForTrekant);
Sådan bruger du børsteklassen til at udfylde former med farve
Du kan bruge metoderne FillRectangle(), FillEllipses() eller FillTriangle() til at skabe figurer med en ensfarvet farve.
- Først skal du oprette et børsteobjekt.
Farve lilla = Farve. FromArgb (255, 128, 0, 0);
SolidBrush solidBrush = ny SolidBrush (lilla); - Brug metoderne FillRectangle(), FillEllipses() eller FillTriangle(). De fungerer på samme måde som tegnefunktionerne ovenfor, bortset fra i stedet for en pen, bruger de et penselobjekt.
e. Grafik. FyldRektangel (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) }); - Du kan også indtaste et figurobjekt direkte i stedet for at angive koordinater.
Rektangel rektangel = nyt rektangel (100, 350, 500, 200);
e. Grafik. FyldRektangel (solidBrush, rektangel); - Brug HatchBrush til at udfylde formen med en anden udfyldningsstil, såsom et vandret eller lodret mønster.
Farve blå = farve. FromArgb (255, 0, 0, 255);
Farve grøn = Farve. FromArgb (255, 0, 255, 0);
HatchBrush hatchBrush = ny HatchBrush (HatchStyle. Vandret, grøn, blå);
e. Grafik. FyldRektangel (hatchBrush, 50, 50, 200, 250); - Du kan bruge TextureBrush til at udfylde en form ved hjælp af et billede. Opret her en bitmap ved at pege på en billedfil. I stedet for at skabe en pensel ved hjælp af en farve, skal du oprette den ved hjælp af billedet.
Bitmapbillede = (Bitmap) billede. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", true);
TextureBrush textureBrush = ny TextureBrush (billede);
e. Grafik. FyldRektangel (teksturbørste, 100, 100, 500, 400);
Sådan gengiver du billeder på formularen
For at gengive et billede skal du oprette et PictureBox-kontrolobjekt og tilføje det til formularen.
- Opret et PictureBox-kontrolobjekt ved hjælp af en billedfil.
PictureBox billede = ny PictureBox();
billede. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp"; - Indstil størrelsen på billedet, og tilføj det til formularen, så det gengives.
billede. SizeMode = PictureBoxSizeMode. AutoSize;
dette. Kontrolelementer. Tilføj (billede); - Tryk på den grønne startknap øverst for at se billedet.
Tilføjelse af flere figurer til din Windows-formular
Du bør nu forstå, hvordan du tilføjer linjer, former og billeder til din Windows-formular. Du kan kombinere former for at skabe nye former. Du kan også lege med de indbyggede funktioner for at skabe mere komplekse former.
Er ASP.NET værd at lære i 2021?
Læs Næste
Relaterede emner
- Programmering
- Programmering
Om forfatteren

Sharlene er en Tech Writer hos MUO og arbejder også fuld tid med softwareudvikling. Hun har en bachelor i IT og har tidligere erfaring med kvalitetssikring og universitetsvejledning. Sharlene elsker at spille og spille klaver.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere