Se hvordan du kan tegne former, bruke farger og gjengi bilder i en WinForms-app.
Windows Forms er et rammeverk som lar deg bygge skrivebordsapplikasjoner. Du kan klikke og dra komponenter som knapper til et visuelt brukergrensesnitt. Det hjelper deg også manuelt å lage ulike former i koden din.
Denne artikkelen viser deg hvordan du legger til linjer, former og bilder i applikasjonen din. Denne opplæringen bruker Visual Studio 2019 Community Edition for å vise eksempler.
Hva er de innebygde klassene som brukes til å tegne grafikk?
Windows Forms bruker C# programmeringsspråk. Dens innebygde klasser og metoder lar deg tegne forskjellige former på et Windows Form-lerret. Disse inkluderer grafikk-, penn-, farge- og penselklassene.
Klasse | Beskrivelse |
---|---|
Grafikk | Grafikkklassen lar deg tegne former og linjer på lerretet. Det inkluderer metoder som:
|
Penn | Penn-klassen lar deg spesifisere egenskapene til en "penn"-spiss som du kan bruke til å tegne figurene dine. Du kan spesifisere egenskaper som farge, tykkelse eller strekstil. Metoder inkluderer:
|
Farge | Et fargeobjekt som består av R (rød), G (grønn) og B (blå) verdier. Du trenger et fargeobjekt for mange av de innebygde metodene som skaper former. |
SolidBrush, HatchBrush, TextureBrush | Disse børsteklassene stammer fra "Brush"-grensesnittet. Disse klassene lar deg fargelegge tomme områder på lerretet. Du kan også velge å fylle mellomrommene med forskjellige mønstre eller teksturer. Du kan spesifisere egenskaper som fargen. |
Rektangel, linje, polygon, ellipse | Du kan lage objekter basert på disse formene, og bruke dem når du kaller metoder som DrawRectangle(). I stedet for å sende x, y, bredde og høyde som argumenter, kan du velge å sende et eksisterende rektangelobjekt i stedet. |
For å se kildekoden for et løpende eksempel på opplæringen ovenfor, besøk GitHub-depot. Du kan prøve følgende eksempler når du har gjort det opprettet en Winforms-applikasjon.
Hvordan legge til en maling på skjemalasthendelseshåndterer
Først legger du til en hendelsesbehandler for å tegne former når lerretet lastes.
- Legg til en Paint-funksjon for skjemaet.
privat void Form1_Paint (objektavsender, PaintEventArgs e)
{
// Koden går her
} - Gå inn i Design View-fanen.
- I Egenskaper-vinduet velger du lynikonet for å åpne fanen "Hendelser".
- I "Paint", under "Appearance", velg Form1_Paint-funksjonen. Dette vil utføre funksjonen når du kjører applikasjonen.
Hvordan tegne linjer på et Windows-skjemalerret
Du kan bruke en Color, Pen og DrawLine()-metoden for å tegne linjer på et lerret.
- Inne i Form1_Paint()-funksjonen lager du et Color-objekt med fargen du vil at linjen skal være. Deretter lager du et pennobjekt for å tegne linjen med.
Farge svart = Farge. FromArgb (255, 0, 0, 0);
Penn svartPenn = ny Penn (svart); - DrawLine()-metoden fra Graphics-klassen vil tegne en linje ved hjelp av pennen. Dette vil begynne å tegne en linje fra en x, y-posisjon til en annen x, y-posisjon.
e. Grafikk. DrawLine (svart penn, 300, 200, 800, 200);
- Du kan endre egenskapene for pennobjektet for å endre bredden, strekstilen og start- eller sluttstykket.
svartPenn. Bredde = 20;
svartPenn. DashStyle = System. Tegning. Drawing2D.DashStyle. Bindestrek;
svartPenn. StartCap = System. Tegning. Drawing2D.LineCap. ArrowAnchor;
e. Grafikk. DrawLine (svart penn, 300, 200, 800, 200); - Trykk på den grønne avspillingsknappen øverst i Visual Studio for å se endringene.
Hvordan tegne former som rektangler og sirkler
Du kan bruke formklassene for forskjellige former, eller tegne figurer manuelt på lerretet.
- Lag et farge- og pennobjekt som vist i de foregående trinnene. Deretter bruker du DrawRectangle()-metoden for å lage rektangelet. Argumentene er x- og y-koordinatene øverst til venstre i rektangelet, sammen med dets bredde og høyde.
Farge rød = Farge. FromArgb (255, 255, 0, 0);
Penn rødPenn = ny Penn (rød);
rødPenn. Bredde = 5;
e. Grafikk. DrawRektangel (rødpenn, 100, 100, 500, 200); - Du kan også lage et rektangel ved å bruke rektangelklassen. Først lager du et rektangelobjekt. Argumentene er også x- og y-koordinatene for øverste venstre hjørne, bredde og høyde.
Rektangel rektangel = nytt rektangel (100, 350, 500, 200);
- Bruk funksjonen DrawRectangle() for å tegne rektangelet. I stedet for å overføre x, y, bredde og høyde som før, kan du bruke Rectangle-objektet i stedet.
e. Grafikk. DrawRectangle (rødPenn, rektangel);
- Trykk på den grønne avspillingsknappen øverst i Visual Studio for å se endringene.
- Gå tilbake til koden for å tegne andre former. Bruk DrawEllipse()-funksjonen til å tegne en sirkel.
Når du tegner en sirkel, refererer x- og y-koordinatene (x=400, y=150) til det øverste venstre hjørnet av sirkelen, ikke til midten av sirkelen.Farge grønn = Farge. FromArgb (255, 0, 255, 0);
Penn grønnPenn = ny Penn (grønn);
grønnPenn. Bredde = 5;
e. Grafikk. DrawEllipse (grønnPenn, 400, 150, 400, 400); - For å tegne andre former som trekanter eller sekskanter, bruk DrawPolygon()-metoden. Her kan du angi en liste over koordinater for å representere punktene i formen.
DrawPolygon()-metoden vil tegne linjer mellom punktene som er spesifisert. Farge blå = Farge. FromArgb (255, 0, 0, 255);
Penn blåPenn = ny penn (blå);
blåpenn. Bredde = 5;
PointF[]-koordinaterForTriangle = new PointF[] {
new PointF(400; 150),
new PointF(300; 300),
new PointF(500; 300)
};
e. Grafikk. DrawPolygon (blåPenn, koordinaterForTriangle);
Hvordan bruke børsteklassen til å fylle ut former med farge
Du kan bruke metodene FillRectangle(), FillEllipses() eller FillTriangle() for å lage former med en solid farge.
- Først lager du et børsteobjekt.
Farge lilla = Farge. FromArgb (255, 128, 0, 0);
SolidBrush solidBrush = ny SolidBrush (lilla); - Bruk metodene FillRectangle(), FillEllipses() eller FillTriangle(). De fungerer på samme måte som tegnefunksjonene ovenfor, bortsett fra i stedet for en penn, bruker de et penselobjekt.
e. Grafikk. FyllRektangel (solidBrush, 50, 50, 200, 250);
e. Grafikk. FillEllipse (solidBrush, 300, 50, 200, 200);
e. Grafikk. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) }); - Du kan også legge inn et formobjekt direkte i stedet for å oppgi koordinater.
Rektangel rektangel = nytt rektangel (100, 350, 500, 200);
e. Grafikk. FyllRektangel (solidBrush, rektangel); - Bruk HatchBrush til å fylle formen med en annen fyllstil, for eksempel et horisontalt eller vertikalt mønster.
Farge blå = Farge. FromArgb (255, 0, 0, 255);
Farge grønn = Farge. FromArgb (255, 0, 255, 0);
HatchBrush hatchBrush = ny HatchBrush (HatchStyle. Horisontal, grønn, blå);
e. Grafikk. FyllRektangel (hatchBrush, 50, 50, 200, 250); - Du kan bruke TextureBrush til å fylle en form ved hjelp av et bilde. Lag her en punktgrafikk ved å peke på en bildefil. I stedet for å lage en pensel med en farge, lag den ved å bruke bildet.
Bitmap-bilde = (Bitmap) Bilde. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", true);
TextureBrush textureBrush = ny TextureBrush (bilde);
e. Grafikk. FyllRektangel (teksturbørste, 100, 100, 500, 400);
Hvordan gjengi bilder på skjemaet
For å gjengi et bilde, lag et PictureBox-kontrollobjekt og legg det til i skjemaet.
- Lag et PictureBox-kontrollobjekt ved hjelp av en bildefil.
PictureBox-bilde = ny PictureBox();
bilde. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp"; - Angi størrelsen på bildet og legg det til i skjemaet slik at det gjengis.
bilde. SizeMode = PictureBoxSizeMode. Auto størrelse;
dette. Kontroller. Legg til (bilde); - Trykk på den grønne startknappen øverst for å se bildet.
Legge til flere former i Windows-skjemaet
Du bør nå forstå hvordan du legger til linjer, former og bilder i Windows-skjemaet. Du kan kombinere former for å lage nye former. Du kan også leke med de innebygde funksjonene for å lage mer komplekse former.
Er ASP.NET verdt å lære i 2021?
Les Neste
Relaterte temaer
- Programmering
- Programmering
Om forfatteren

Sharlene er teknisk skribent ved MUO og jobber også fulltid innen programvareutvikling. Hun har en bachelor i IT og har tidligere erfaring innen kvalitetssikring og universitetsveiledning. Sharlene elsker å spille og spille piano.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere