Sedaj bomo pokazali še nekoliko naprednejšo rabo gradnikov za delo z več zasloni. Zamislimo si podobno aplikacijo kot prej, le da sedaj želimo ob kliku gumba »Odpri zaslon Screen2«, da nam poleg odpiranja zaslona Screen2 prenese v ta ekran še sporočilo »Pozdravljen sosed«
|
Slika 8: Odpiranje drugega zaslona z vrednostjo startValue
V ta namen uporabimo metodo »open another screen with start value«. screenName je ponovno ime zaslona, ki ga želimo odpreti, startValue pa predstavlja sporočilo, ki ga želimo poslati zaslonu
Ko se zaslon Screen2 odpre, ob inicializaciji izpiše prejeto sporočilo na zaslon. To sporočilo prikličemo preko parametra »start value«, ki ga najdemo znotraj podbloka Control bloka Blocks.
|
Slika 9: Koda, ki izpiše prjeto sporočilo
Ob pritisku na gumb Zapri zaslon (Button2) pokličemo metodo »close screen with value«, ki pošlje sporočilo, pripeto parametru result.
|
Slika 10: Metoda, ki zapre zaslon in pošlje sporočilo
Da lahko zaslon Screen1 prejme poslano poročilo, mora realizirati upravitelj dogoskov .OtherScreenClosed. Kot lahko vidimo iz slike spodaj, le-ta prejme dva parametra result (poslano sporčilo) in otherScreenName (na osni njega se lahko odločimo, če bomo sporočilo prejeli). Ker v našem primeru imamo le dva zaslona, tega ni potrebno preverjati. Kot vidimo spodaj, prejeto sporočilo priredimo oznaki Label1.text, ki izpiše sporočilo na zaslon Screen1.
|
Slika 11: Upravitelj opravilj .OtherScreenClosed
Naslednji sliki prikazujeta zaslonsko sliko zaslona Screen1 (levo) in Screen2 (desno).
|
Slika 12: Uporabniški vmesnik zaslona Screen1 in Screen2