3. diel - PRIPOMIENKOVÉ narodenín v VB.NET - Návrh formulárov
V minulom dieli, Jednoduchá kalkulačka v VB.NET Windows Forms , sme sa naučili obsluhovať udalosti a vytvorili jednoduchú kalkulačku.
V dnešnom dieli začneme pracovať na aplikáciu k upomínania narodenín priateľov. Aplikácia bude vyzerať nasledovne:
Návrh formulára
Ako vždy začneme návrhom formulára. Tentoraz už budeme mať v aplikácii dva.
Prehľadový formulár
Prehľadový formulár je základná okno aplikácie s prehľadom osôb a ich narodenín. Formulár premenujeme na PrehledForm, nastavíme mu titulok na Výročie a môžeme mu nastaviť opäť nejakú ikonu. Tiež nastavíme StartPosition na CenterScreen. Mimochodom, všimnite si, že sa formuláre pomenúvajú PascalCasem (prvé písmeno veľké) a kontrolky CamelCase. Je to preto, že formulár je trieda a kontrolky sú inštancie.
Ďalej budeme potrebovať nasledujúce kontrolky:
- 8x Label
- 2x Button
- 1x listbox
- 1x MonthCalendar
Labely
Labely rozmiestnite ako na obrázku vyššie. Labelům na ľavej strane nastavíme text podľa obrázka. Labelům na strane pravej text nastavovať nebudeme, ale nastavíme im meno, aby sme text mohli neskôr nastaviť z kódu. Labely na pravej strane sa budú menovať: dnesLabel, nejblizsiLabel, narozeninyLabel, vekLabel.
Tlačidla
Dva buttony umiestnime dole a nastavíme im text na Pridať a Odstrániť. Asi vás neprekvapí, že ich názvy budú pridatButton a odebratButton. Tlačidlám môžeme pridať nejaké ikony, ja som tie na obrázku našiel na http://www.iconfinder.com, veľkosť je 32x32 pixelov. Obrázok nastavíme pomocou vlastnosti Image, kde klikneme na tlačidlo "...". Obrázok teraz môžeme nahrať ako Local resource alebo Project resource. Vyberieme Local resource a importuje príslušný obrázok z disku. Aby bol obrázok vľavo, vedľa textu tlačidla, musíme nastaviť vlastnosť TextImageRelation na ImageBeforeText. Výšku tlačidla môžeme nechať nastaviť automaticky pomocou vlastnosti AutoSize. To isté urobíme aj pre druhé tlačidlo.
Listbox
Listbox je v podstate rozbalený ComboBox, s ktorým sme sa zoznámili v minulej lekcii. Inak funguje úplne rovnako a my ho využijeme pre zobrazenie zoznamu osôb. Listbox pomenujeme osobyListBox a nastavíme mu vlastnosť Sorted na True, tak v ňom budú prvky zoradené, v našom prípade podľa abecedy.
MonthCalendar
MonthCalendar slúži na zobrazenie rozbaleného mesiaca alebo niekoľkých mesiacov. Komponenta je primárne určená na výber intervalu medzi dvoma dátumami, ale my ju využijeme na ukázanie narodenín vybranej osoby. Kontrolku pomenujeme narozenMonthCalendar a nastavíme jej Enabled na False, aby s ňou užívateľ nemohol manipulovať. Ďalej vypneme ShowToday a MaxSelectionCount nastavíme na 1. To znamená, že môžeme naraz vybrať najviac 1 deň.
Kotvy
Keď aplikáciu spustíte a formulár zväčšíte, bude vyzerať nasledovne:
Samozrejme by bolo žiaduce, aby voľné miesto využil zoznam osôb, ktorých tam môže byť veľa a môžu mať dlhá mená. Z toho dôvodu kontrolkám vo formulári nastavíme tzv. Kotvy. Kotva (anglicky anchor) určuje ku ktorým hranám formulára sa kontrolka prichytí. V predvolenom nastavení sa všetky kontrolky držia len ľavej a hornej hrany. My budeme určite chcieť, aby sa listbox držal tiež hrany spodnej a pravej, teda všetkých. Akonáhle sa formulár roztiahne, roztiahne sa aj listbox. Vlastnosť Anchor listbox nastavíme nasledujúcim spôsobom:
Keď však teraz aplikáciu spustíte a roztiahnete formulár, výsledok asi nebude taký, aký ste očakávali. Musíme totiž upraviť aj kontrolky pod listbox a vedľa listbox. Tie sa musia prichytiť k dolnej, resp. pravej hrane okna.
Obom tlačidlám nastavíme iba spodnú kotvu. MonthCaledar a štyrom labelům nad ním vypneme ľavú kotvu a zapneme pravú. Po roztiahnutí okna v spustenej aplikácii aby ste mali dospieť k tomuto výsledku:
Prehľadový formulár môžeme vyhlásiť za navrhnutý.
Pripájací formulár
Druhý formulár bude slúžiť na pridávanie nových osôb a bude mať nasledujúce podobu:
Formulár pridáme pravým kliknutím na projekt v Solution Exploreri a vybraním možnosti Add -> Windows Form. Pomenujeme ho OsobaForm. Text nastavíme na Pridať osobu. Opäť nastavíme StartPosition na CenterScreen a môžeme nastaviť ikonu. FormBorderStyle nastavíme na FixedSingle a zakážeme maximalizáciu vlastností MaximizeBox, okno teda nepôjde rozťahovať ani maximalizovať.
Do formulára ďalej vložíme nasledujúce kontrolky:
- 2x Label
- 1x TextBox
- 1x DateTimePicker
- 1x Button
- 1x PictureBox
Labely
Labely tu slúži len na opis textových polí, čiže im iba nastavte Text podľa obrázku vyššie a nemusíte ich ani pomenovávať.
Textbox
TextBox je ako asi tušíte pole, kam môže užívateľ aplikácie zadať ľubovoľný text. O účele zadanie mena je ideálne. Niektorí začiatočníci ho používajú aj k zadávanie čísel alebo dátumov, čo je však zle, ako sme si už vysvetlili minule. TextBox pomenujte jmenoTextBox.
DateTimePicker
Opäť asi tušíte, že DateTimePicker bude slúžiť k výberu dátumu a času. Pomenujeme ho narozeninyDateTimePicker. Vo Format si môžeme vybrať, či chceme vyberať dátum (aj v akom formáte) alebo čas. Nás čas u narodenín samozrejme nezaujíma, ale v inej aplikácii by sa nám mohol hodiť.
Button
Tlačidlo na potvrdenie dialógu pomenujeme okButton a nastavíme mu Text na OK.
PictureBox
PictureBox je veľmi zaujímavá kontrolka, ktorá sa používa buď pre zobrazenie obrázka alebo pre kreslenie napr. Nejakých tvarov, čo si ukážeme v ďalších dieloch. Tu do PictureBox iba vložíme ikonku, aby formulár vyzeral lepšie. Asi vás neprekvapí, že to urobíte pomocou vlastnosti Image. Ak je ikonka väčšia ako PictureBox, môžete nastaviť vlastnosť SizeMode na Zoom.
Formuláre máme pripravené.
V budúcej lekcii, PRIPOMIENKOVÉ narodenín v VB.NET - Logická vrstva , si vytvoríme triedy s logikou aplikácie. Naklikané formuláre sú k stiahnutiu nižšie.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 259x (201.75 kB)
Aplikácia je vrátane zdrojových kódov v jazyku VB