Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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:

Aplikácia na upomínania narodenín vo Visual Basic .NET - Okenné aplikácie vo VB.NET Windows Forms

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 narozenMonthCa­lendar 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:

Okno aplikácie bez kotiev - Okenné aplikácie vo VB.NET Windows Forms

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:

Kotvy anchors vo Visual Studio - Okenné aplikácie vo VB.NET Windows Forms

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:

Kotvy anchors vo Visual Studio - Okenné aplikácie vo VB.NET Windows Forms

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 pre pridanie novej osoby v VB.NET - Okenné aplikácie vo VB.NET Windows Forms

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 narozeninyDate­TimePicker. 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é 257x (201.75 kB)
Aplikácia je vrátane zdrojových kódov v jazyku VB

 

Predchádzajúci článok
Jednoduchá kalkulačka v VB.NET Windows Forms
Všetky články v sekcii
Okenné aplikácie vo VB.NET Windows Forms
Preskočiť článok
(neodporúčame)
PRIPOMIENKOVÉ narodenín v VB.NET - Logická vrstva
Článok pre vás napísal Michal Žůrek - misaz
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje tvorbě aplikací pro počítače, mobilní telefony, mikroprocesory a tvorbě webových stránek a webových aplikací. Nejraději programuje ve Visual Basicu a TypeScript. Ovládá HTML, CSS, JavaScript, TypeScript, C# a Visual Basic.
Aktivity