Koostetut komponentit ja GDI - pääteohjaus 3
Luodaan koostettu komponentti sekä opetellaan piirtämään GDI+-rajapinnan avulla.
Hyvän pohjan ja vinkkejä näihin pääteohjauksiin saat luentoesimerkeistä ja Microsoft Visual C# Application design:sta ja Professional C# - Graphics with GDI+.
Koostetut komponentit
- Luodaan uusi koostettu komponentti eli komponentti joka sisältää useampia kontrolleja. Lisää solutioniin uusi projekti, jonka tyyppi on taas control library. Anna nimeksi AutoLaskuri
- Muuta nimet järkeviksi samaan tapaan kuin edellisessä pääteohjauksessa.
- Raahaa kentälle Autolaskuriin vaadittavat komponentit eli painike ja tekstikenttä. Voit käyttää tekstikenttänä edellisessä pääteohjauksessa tekemääsi komponenttia :)
- Tee autolaskurikomponentistasi startup project ja käynnistä se. Pääset kokeilemaan komponenttisi toimintaa testipenkissä.
- Lisää komponenttiisi autolaskurin toiminnallisuus
- Lisää komponenttisi attribuutiksi pLaskuri, joka sisältää
laskurin summan. Tee pLaskurin käsittelyä varten property Laskuri ja
siihen liittyvät get- ja set-funktiot.
// propertyn properties-listauksen kustomointia [Category("Luokka"), Description("Selkeä kuvaus"), DefaultValue(0), Browsable(true)] // jos on false ei näytetä design-tilassa public int Juttu { get { ... } set { ... } }
- Kokeile toimiiko komponenttisi. Tee kokeilua varten oma erillinen testipenkki-lomake.
- Lisää lomakkeellesi useita autolaskureita.
- Lisää Autolaskuriisi tapahtuma UusiAuto, joka tapahtuu aina kun laskuria kasvatetaan. Käsittele tapahtuma lomakkeellasi ja lisää lomakkeelle kenttä johon lasket yhteen kaikkien laskurien summat. Yksi rivi koodia riittää vaikka laskureita olisi lukematon määrä.
- Lisää lomakkeelle painike, joka lisää uuden Autolaskurin. Varmista, että myös uuden laskurin summa lisätään summaan.
GDI
Tee kaikki seuraavat tehtävät suoraan piirtäen lomakkeelle. Älä siis käytä mitään näkyviä kontrolleja kuten PictureBoxia. Katso mallia luentovideoista ja esimerkeistä
- Tee ohjelma jossa suoraan lomakkeelle piirretty auto liikkuu näytöllä edestakaisin. Kopioi auto samaan kansioon sovelluksesi exe-tiedoston kanssa eli solutionin altal löytyvään debug-kansioon. Viittaa koodissa autoon suhteellisella polulla.
- Piirrä auton alle paksu viiva tieksi
- Kirjoita keskelle lomaketta teksti "Hello world!". Vinkki: How to: Align Drawn Text
- Piirrä lomakkeen oikeaan ylälaitaan keltainen aurinko ja sen kaveriksi muutama auringonsäde :)
- Käännä auton nokka aina menosuuntaan (RotateFlip)
- Piirrä tie vinoon.
- Piirrä lomakkeelle kolmen pylvään kaavio (bar graph) seuraavasta datasta: demo1: 79, demo2: 81, demo 3: 75. Kirjoita pylväiden otsikot niiden alapuolelle ja pylvään arvo pylvään päälle. Piirrä sopivan muotoiset rectanglet ja tekstit oikeisiin kohtiin.
- Piirrä sinikäyrä lomakkeen taustalle. Skaalaa kuvaaja näyttöön sopivaksi. Sinimalli
- Käännä kaaviosi 90 astetta poikittain. Onnistuu helpoiten transformoimalla.
- Aseta auto seuraamaan vinoa tietä. Joudut laskemaan kulmakertoimen. Huomaathan tehdä laskennan liukuluvuilla tai muuten autosi ei pysy tiellä...
- Jos lomake vilkkuu niin aseta lomakkeen ominaisuuksista päälle DoubleBuffered
- Aseta auton vauhti riippumaan siitä onko sille piirretty tie alamäki, ylämäki vai tasainen
- Yritä kääntää auton kuva samaan kulmaan kuin vinoon piirretty tie. Vinkki: transform. Yritä pitää auto edelleen kulkemassa pitkin vinoa tietä.
Lisätietoa:
Käyttäjien kommentit