Windows Forms - Viikkotehtävä 1
Toteuta seuraavista haluamasi tehtävä Windows Forms -ohjelmana C#-kielellä.
Tehtävä edellyttää, että on opiskellut vähintään seuraavat asiat:
- C#-perusteita
- Windows Forms -perusteet
- Windows Forms layout-kontrollit
- Dynaamiset kontrollit ja omat luokat
- Pääteohjaus 1
Huomioi erityisesti seuraavat asiat:
- Ohjelmakoodi on kommentoitava olennaisilta osin. Älä kommentoi jokaista riviä.
- Opettele lukemaan luokkadokumentaatiota. Älä keksi pyörää uudelleen vaan käytä C#-kielen ja Windows Formsin valmiita kirjastoja aina kuin vain mahdollista. MM. järjestämistä ei pidä itse kirjoittaa vaan pitää käyttää jotain valmista.
- Ohjelman on toimittava samalla tavalla kuin malliohjelman ja myös näytettävä samalta
- Älä muuttele toimivan Visual Studio projektin kansiorakennetta
Taso 1
Tee samanlainen ohjelma kuin malliohjelma (video ohjelman toiminnasta). Ohjelmasi on näytettävä samalta ja toimittava samalla tavalla kuin malliohjelma.
- Ohjelmalla lisätään lomakkeelle tekstejä. Käytä Label-kontrollia. Tyhjää tekstiä ei pidä lisätä eikä tekstin alussa eikä lopussa saa olla tyhjää
- Lisätyissä teksteissä on oltava mallia vastaava taustaväri, reunaviiva ja samaan tapaan tyhjää tilaa tekstin ja reunan välissä kuin mallissakin.
- Tekstien on tultava lomakkeelle allekkain niin monta kappaletta kuin ohjelmaikkunaan mahtuu ja sen jälkeen aloittaa uuden sarakkeen edellisen vierestä. Käytä toteutuksessa sopivaa layout-kontrollia.
- Lomakkeen kokoa ei saa pystyä muuttamaan hiirellä.
- Ohjelmassa on oltava malliohjelmaa vastaavat menut ja help|about-valinnan on toimittava kuten malliohjelmassa.
Taso 3
Laajenna Tason 1 -ohjelmaa seuraavilla ominaisuuksilla:
- Varmista, että ohjelmasi täyttää taso 1 -vaatimukset.
- Lisää ohjelman alalaitaan Järjestä-painike, jota napauttamalla näytölle lisätyt tekstit järjestyvät aakkosjärjestykseen.
Vinkki kts. kohta Sort with different fields.
List<Foobar> FoobarList = new List<Foobar>; FoobarList.Sort((foo1, foo2) => foo1.Ominaisuus.CompareTo(foo2.Ominaisuus));
- Jos tekstejä lisätään enemmän kuin näytölle mahtuu niin käytössä on oltava scrollbar
- Mahdollista lomakkeen koon muuttaminen hiirellä. Teksteille käytettävissä olevan tilan on skaalauduttava lomakkeen koon mukana. Vinkki
- Jo lisätyistä teksteistä voi poistaa aina listan viimeisen tuplaklikkaamalla tekstilistauksen sisältävää paneelia. Tekstiä klikatessa ei saa tapahtua mitään.
- Tee File-valikon Exit-valinnasta toimiva
Taso 5
Laajenna Tason 3 -ohjelma seuraavilla ominaisuuksilla:
- Mahdollista tekstien muokkaaminen klikkaamalla tekstiä. Klikkaamisen jälkeen teksti muuttuu muokattavaksi kentäksi ja palaa takaisin pelkäksi tekstiksi muokkaamisen loputtua. Muokkaaminen loppuu kun painetaan enter tai esc tai klikataan hiirellä tyhjää aluetta tai jollain muulla konstilla poistutaan muokattavasta TextBoxista. Muuta Label-kontrolli muokkaamisen ajaksi TextBox-kontrolliksi ja palauta se taas Label-kontrolliksi muokkaamisen jälkeen.
- Tee Edit-valikon Undo- ja Redo-valinnoista toimivat. Näillä täytyy pystyä perumaan tai uusimaan viimeisin tekstin lisääminen tai poistaminen. Tekstin muokkaamista tai järjestämistä ei tarvitse osata perua.
- Lisää lomakkeelle uusi painike "Järjestä pituuden mukaan", jota klikattaessa tekstit järjestyvät niiden pituuden mukaan. Jos on useampi yhtä pitkä teksti niin järjestä ne keskenään aakkosjärjestykseen. vinkki

Käyttäjien kommentit