Sužinokite, kaip galite piešti figūras, naudoti spalvas ir pateikti vaizdus „WinForms“ programoje.
„Windows Forms“ yra sistema, leidžianti kurti darbalaukio programas. Galite spustelėti ir vilkti komponentus, pvz., mygtukus, į vaizdinę vartotojo sąsają. Tai taip pat padeda rankiniu būdu sukurti įvairias formas jūsų kode.
Šiame straipsnyje bus parodyta, kaip prie programos pridėti linijų, formų ir vaizdų. Šiame vadove pavyzdžiams parodyti naudojamas „Visual Studio 2019 Community Edition“.
Kokios yra integruotos klasės, naudojamos piešti grafikai?
„Windows Forms“ naudoja C# programavimo kalba. Jo integruotos klasės ir metodai leidžia piešti įvairias figūras ant „Windows Form“ drobės. Tai apima grafikos, rašiklio, spalvų ir teptuko klases.
Klasė | apibūdinimas |
---|---|
Grafika | Grafikos klasė leidžia piešti figūras ir linijas ant drobės. Tai apima tokius metodus kaip:
|
Rašiklis | Rašiklio klasė leidžia nurodyti rašiklio antgalio, kurį galite naudoti piešdami figūras, savybes. Galite nurodyti ypatybes, pvz., spalvą, storį arba brūkšnelių stilių. Metodai apima:
|
Spalva | Spalvotas objektas, sudarytas iš R (raudona), G (žalia) ir B (mėlyna) reikšmių. Daugeliui integruotų formų kūrimo metodų jums reikės spalvoto objekto. |
SolidBrush, HatchBrush, TextureBrush | Šios šepetėlių klasės kyla iš „Brush“ sąsajos. Šios klasės leidžia spalvinti tuščias drobės vietas. Taip pat galite pasirinkti užpildyti erdves naudodami skirtingus raštus ar tekstūras. Galite nurodyti tokias savybes kaip spalva. |
Stačiakampis, linija, daugiakampis, elipsė | Galite kurti objektus pagal šias figūras ir naudoti juos iškviesdami tokius metodus kaip DrawRectangle(). Užuot perdavęs x, y, plotį ir aukštį kaip argumentus, galite pasirinkti perduoti esamą stačiakampio objektą. |
Norėdami peržiūrėti pirmiau pateikto mokymo programos pavyzdžio šaltinio kodą, apsilankykite GitHub saugykla. Kai tik tai padarysite, galite išbandyti šiuos pavyzdžius sukūrė Winforms programą.
Kaip pridėti dažų formos įkėlimo įvykių tvarkyklėje
Pirmiausia pridėkite įvykių tvarkyklę, kad pieštumėte figūras, kai įkeliama drobė.
- Pridėkite formos dažymo funkciją.
private void Form1_Paint (objekto siuntėjas, PaintEventArgs e)
{
// Kodas eina čia
} - Eikite į skirtuką Dizaino rodinys.
- Lange Ypatybės pasirinkite žaibo piktogramą, kad atidarytumėte skirtuką „Įvykiai“.
- „Paint“ dalyje „Appearance“ pasirinkite funkciją Form1_Paint. Tai atliks funkciją, kai paleisite programą.
Kaip piešti linijas ant „Windows“ formos drobės
Norėdami piešti linijas ant drobės, galite naudoti Color, Pen ir DrawLine() metodą.
- Funkcijoje Form1_Paint() sukurkite Color objektą su norimos linijos spalva. Tada sukurkite rašiklio objektą, kuriuo nubrėžtumėte liniją.
Spalva juoda = spalva. FromArgb (255, 0, 0, 0);
Rašiklis blackPen = naujas rašiklis (juodas); - Grafikos klasės metodas DrawLine() nubrėžia liniją naudodamas rašiklį. Tai pradės brėžti liniją iš x, y padėties į kitą x, y padėtį.
e. Grafika. „DrawLine“ („blackPen“, 300, 200, 800, 200);
- Galite keisti rašiklio objekto ypatybes, kad pakeistumėte jo plotį, brūkšnelių stilių ir pradžios arba pabaigos dangtelį.
juodas rašiklis. Plotis = 20;
juodas rašiklis. DashStyle = Sistema. Piešimas. Drawing2D.DashStyle. Brūkšnys;
juodas rašiklis. StartCap = Sistema. Piešimas. Drawing2D.LineCap. ArrowAnchor;
e. Grafika. „DrawLine“ („blackPen“, 300, 200, 800, 200); - Paspauskite žalią atkūrimo mygtuką Visual Studio viršuje, kad pamatytumėte pakeitimus.
Kaip piešti tokias formas kaip stačiakampiai ir apskritimai
Galite naudoti formų klases skirtingoms formoms arba piešti figūras ant drobės rankiniu būdu.
- Sukurkite spalvų ir rašiklio objektą, kaip parodyta ankstesniuose veiksmuose. Tada naudokite DrawRectangle() metodą, kad sukurtumėte stačiakampį. Argumentai yra stačiakampio viršutinės kairės pusės x ir y koordinatės, taip pat jo plotis ir aukštis.
Spalva raudona = spalva. FromArgb (255, 255, 0, 0);
Rašiklis redPen = naujas rašiklis (raudonas);
raudonas rašiklis. Plotis = 5;
e. Grafika. DrawRectangle (raudonas rašiklis, 100, 100, 500, 200); - Taip pat galite sukurti stačiakampį naudodami stačiakampių klasę. Pirmiausia sukurkite objektą Stačiakampis. Argumentai taip pat yra viršutinio kairiojo kampo, pločio ir aukščio x ir y koordinatės.
Stačiakampis stačiakampis = naujas Stačiakampis (100, 350, 500, 200);
- Norėdami nupiešti stačiakampį, naudokite funkciją DrawRectangle(). Užuot perdėję x, y, plotį ir aukštį, kaip anksčiau, galite naudoti objektą Stačiakampis.
e. Grafika. DrawRectangle (raudonas rašiklis, stačiakampis);
- Paspauskite žalią atkūrimo mygtuką Visual Studio viršuje, kad pamatytumėte pakeitimus.
- Grįžkite į kodą, kad nubrėžtumėte kitas figūras. Norėdami nubrėžti apskritimą, naudokite funkciją DrawEllipse().
Kai piešiate apskritimą, x ir y koordinatės (x=400, y=150) nurodo viršutinį kairįjį apskritimo kampą, o ne apskritimo centrą.Spalva žalia = spalva. FromArgb (255, 0, 255, 0);
Rašiklis greenPen = naujas rašiklis (žalias);
žalias rašiklis. Plotis = 5;
e. Grafika. „DrawEllipse“ („greenPen“, 400, 150, 400, 400); - Norėdami piešti kitas figūras, pvz., trikampius ar šešiakampius, naudokite metodą DrawPolygon(). Čia galite nurodyti koordinačių sąrašą, atspindintį figūros taškus.
DrawPolygon() metodas nubrėžia linijas tarp nurodytų taškų. Spalva mėlyna = spalva. FromArgb (255, 0, 0, 255);
Pen bluePen = naujas rašiklis (mėlynas);
mėlynas rašiklis. Plotis = 5;
TaškasF[] koordinatėsTrikampis = naujas taškasF[] {
naujas taškasF(400, 150),
naujas taškasF(300, 300),
naujas taškasF(500, 300)
};
e. Grafika. DrawPolygon (mėlynas rašiklis, koordinatėsTrikampis);
Kaip naudoti teptukų klasę formoms užpildyti spalva
Norėdami sukurti vientisos spalvos figūras, galite naudoti FillRectangle(), FillEllipses() arba FillTriangle() metodus.
- Pirmiausia sukurkite teptuko objektą.
Spalva violetinė = spalva. FromArgb (255, 128, 0, 0);
SolidBrush solidBrush = naujas SolidBrush (violetinė); - Naudokite FillRectangle(), FillEllipses() arba FillTriangle() metodus. Jie veikia taip pat, kaip ir anksčiau pateiktos piešimo funkcijos, tik vietoj rašiklio jie naudoja teptuko objektą.
e. Grafika. „FillRectangle“ (vientisas šepetys, 50, 50, 200, 250);
e. Grafika. „FillEllipse“ („solidBrush“, 300, 50, 200, 200);
e. Grafika. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) }); - Taip pat galite tiesiogiai įvesti formos objektą, o ne pateikti koordinates.
Stačiakampis stačiakampis = naujas Stačiakampis (100, 350, 500, 200);
e. Grafika. UžpildytiRectangle ( solidBrush, stačiakampis); - Naudokite HatchBrush, kad užpildytumėte formą naudodami kitą užpildymo stilių, pvz., horizontalų arba vertikalų raštą.
Spalva mėlyna = spalva. FromArgb (255, 0, 0, 255);
Spalva žalia = spalva. FromArgb (255, 0, 255, 0);
HatchBrush hatchBrush = naujas HatchBrush (HatchStyle. Horizontali, žalia, mėlyna);
e. Grafika. FillRectangle (hatchBrush, 50, 50, 200, 250); - Galite naudoti „TextureBrush“, kad užpildytumėte formą naudodami vaizdą. Čia sukurkite taškinę schemą nukreipdami į vaizdo failą. Užuot kurę teptuką naudodami spalvą, sukurkite jį naudodami vaizdą.
Bitmap vaizdas = (Bitmap) vaizdas. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", tiesa);
TextureBrush textureBrush = naujas TextureBrush (vaizdas);
e. Grafika. Užpildykite stačiakampį (textureBrush, 100, 100, 500, 400);
Kaip pateikti vaizdus formoje
Norėdami pateikti vaizdą, sukurkite „PictureBox“ valdymo objektą ir pridėkite jį prie formos.
- Sukurkite „PictureBox“ valdymo objektą naudodami vaizdo failą.
PictureBox paveikslėlis = naujas PictureBox();
paveikslėlį. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp"; - Nustatykite vaizdo dydį ir pridėkite jį prie formos, kad jis būtų atvaizduojamas.
paveikslėlį. SizeMode = PictureBoxSizeMode. Automatinis dydis;
tai. Valdikliai. Pridėti (nuotrauka); - Paspauskite žalią pradžios mygtuką viršuje, kad peržiūrėtumėte vaizdą.
Daugiau figūrų pridėjimas prie „Windows“ formos
Dabar turėtumėte suprasti, kaip pridėti linijų, figūrų ir vaizdų į „Windows“ formą. Galite derinti formas, kad sukurtumėte naujas formas. Taip pat galite žaisti su integruotomis funkcijomis, kad sukurtumėte sudėtingesnes formas.
Ar ASP.NET verta mokytis 2021 m.?
Skaitykite toliau
Susijusios temos
- Programavimas
- Programavimas
Apie autorių
Sharlene yra MUO technologijų rašytoja ir visą darbo dieną dirba programinės įrangos kūrimo srityje. Ji turi IT bakalauro laipsnį ir ankstesnę patirtį kokybės užtikrinimo ir universitetų kuravimo srityse. Sharlene mėgsta žaisti ir groti pianinu.
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!
Norėdami užsiprenumeruoti, spustelėkite čia