|
RHS |
TouristicRental05
Nu skal vi lave en GUI til vore simple cykel-udlejning!
Klassen Shop skifter karakter idet vi nu skal
have en interaktiv brugergrænseflade
til at varetage udlejning og afregning.
Shop bliver nu en controller - faktisk
en slags "mastercontroller" da det er her vi starter programmet og initialiserer
vigtige datastrukturer.
Du bør downloade min udgave så vi har et fælles udgangspunkt for denne
øvelse: Shop (efter download skal du omdøbe filen til Shop.cs -
husk at tilføje den til dit projekt)
Metoden Init() skal stadig bruges til at indlæse filen "cykler.dat".
Jeg har ændret den lidt så ved enhver fejl vedr. indlæsning
af fil bliver listen af cykler dannet "manuelt" og denne nye liste
forsøges gemt som "cykler.dat" i
CreateBicyclesFile().
Metoderne Open() og Close() skal ikke længere bruges - de erstattes af en GUI.
Da der bliver behov for at andre klasser kan tilgå Shop's datastrukturer
er der en get-property for både cykel-listen (Bikes) og udlejnings-listen
(Rentals) .
Desuden er der en get+set-property for omsætningen (Sale).
I Main() udføres Init() på et Shop-object
og derefter startes vores MainForm GUI.
Til denne form overføres objektet
shop.
MainForm skal se således ud (bare nogenlunde):
![]() |
Alle tre knapper skal bruges i kode så de bør gives ordentlige navne.
I
midten er en TextBox (også navngivet) med følgende ændringer i Properties:
I koden er der følgende ændringer:
Når man klikker på "Rent bike" knappen udfører den tilhørende metode flg.: hoved-vinduet skjules, der dannes et objekt af typen RentBikeForm som modtager reference til hoved-vinduet samt referencen til shop-objektet, til sidst vises RentBikeForm vinduet
![]() |
Begge TextBox'e, knappen og den sidste label skal tilgås fra koden og bør
derfor navngives ordentligt.
I koden er flg. ændringer:
Knappen "Finish rental" får liv i næste øvelse som også vil forbedre strukturen en anelse.