14. diel - Ďalšie ovládacie prvky Windows Forms
V minulej lekcii, Základné ovládacie prvky Windows Forms , sme si popísali niekoľko základných
formulárových prvkov (controls), boli to Button,
Label, TextBox, NumericUpDown,
ComboBox, ListBox a CheckBox. Dnes v C#
.NET tutoriálu budeme v prehliadke Toolbox pokračovať.
RadioButton (Prepínač)

RadioButton (občas prekladaný ako rádiové tlačidlo) je
veľmi podobný CheckBox u. Rozdiel je v tom, že v aktuálnom
kontajneri môže byť zaškrtnutý iba jeden RadioButton. Ak ich
vložíme viac a nejaký zaškrtneme, ostatní sa odškrtnite. Máme tak teda
možnosť zvoliť vždy iba jednu z nejakej množiny možností.
RadioButton y zvyčajne používame v prípade, keď je možnosťou
len niekoľko a ListBox by na formulári nevyzeral pekne.
Vlastnosti
Checked(bool) - Ak jetrue, jeRadioButtonzaškrtnutý.Appearance- Ak nastavíme naButton, bude saRadioButtonvykresľovať ako obyčajné tlačidlo (teda akoButton). ZaškrtnutýRadioButtonbude vykreslený ako stlačené tlačidlo, ostatné ako nestlačené.Image- Ak používameAppearance = Button, môžeme tlačidlu jednoducho nastaviť ikonku.TextAlign- Zarovnanie textu popisku voči zaškrtávacímu tlačidle.ImageAlign- Zarovnanie obrázka.TextImageRelation- Tu môžeme nastaviť vzťah medzi textom a obrázkom. Text môže byť napísaný na obrázku, môže byť tiež nad ním, pod ním atď.
Udalosti
CheckedChanged- Vyvolá sa v prípade, že saRadioButtonzaškrtol alebo odškrtla.
GroupBox (Skupina)

Ak spolu niektoré prvky na formulári logicky súvisí, môžeme ich
umiestniť do nejakého kontajnera. Kontajner je ovládací prvok, ktorý v sebe
môže obsahovať ďalšie prvky, tie do neho v Designeri jednoducho naskladáme
myšou. Jedným z kontajnerov v .NET je GroupBox. Skúste si
vytvoriť GroupBox a nakliknúť do neho niekoľko prvkov. Pokiaľ
ho teraz presuniete, uvidíte, že sa tieto vložené prvky presúvajú spolu s
ním.
Okrem sprehľadnenie formulára má vkladanie ovládacích prvkov do
kontajnerov ďalšie výhody. Môžeme napr. Skryť kontajner (nastaviť jeho
Visible na false) a on zmizne aj s jeho obsahom.
Môžeme pomocou cyklu jednoducho pristupovať k prvkom vnútri kontajnera
pomocou jeho kolekcie Controls. A v neposlednom rade do neho
môžeme vložiť RadioButton y, z ktorých môže byť vždy
vybraný len jeden. RadioButton ov môže byť vybraných viac, ak
sú v iných kontajneroch.
Vlastnosti
Text- Nadpis skupiny.Controls- Kolekcia komponentov vložených rámci skupiny.
Udalosti
Žiadne dôležité.
Panel (Panel)

Panel je ďalším kontajnerovým ovládacím prvkom. Chová sa
rovnako, ako GroupBox, iba sa jeho rámček v predvolenom stave
nezobrazuje. Môžeme tak zoskupovať niektoré prvky formuláre pre vnútornú
potrebu aplikácie a užívateľ nič nespozná. Typickou ukážkou je naplnenie
napr. 20tich TextBox ov nejakými hodnotami. Jednoducho ich dáme
do Panel ua cyklom prejdeme jeho kolekcii Controls,
ktorým nastavíme Text. Bez panelu by sme sa k prvkom
TextBox zle dostávali a treba si prepísali úplne všetky na
formulári.
Vlastnosti
BorderStyle- Štýl rámika. Môžeme nastaviťNone(žiadny),FixedSingle(jednoduchý) aFixed3D(tieňovaný).Controls- Kolekcia komponentov vložených vo vnútri panelu.
Udalosti
Žiadne dôležité.
FlowLayoutPanel (Panel s tečúcim obsahom)

FlowLayoutPanel za nás aranžuje prvky na formulári. Kým v
normálnom paneli musíme prvku udať pozíciu, FlowLayoutPanel sa
na pozície nepozerá a prvky vykresľuje ako idú za sebou, zľava doprava,
zhora nadol. To môže byť mnohokrát užitočné.
Vlastnosti
FlowDirection- Môžeme nastaviť akým smerom sa majú prvky vykresľovať.Panelje vie kresliť tiež sprava doľava alebo dokonca aj zvisle a to v oboch smeroch.BorderStyle- Štýl rámika. Môžeme nastaviťNone(žiadny),FixedSingle(jednoduchý) aFixed3D(tieňovaný).
Udalosti
Žiadne dôležité.
PictureBox (Obrázok)

PictureBox je obrázok, presnejšie povedané ovládací prvok s
obrázkom. Hodí sa ku skrášleniu designu aplikácie. Často sa ju tiež
obrázok nepriradí a namiesto toho sa na prázdny obrázok vykresľuje (napr.
Nejaký graf).
Vlastnosti
Image- Obrázok.SizeMode- Režim zobrazenia obrázka.Normalzobrazí obrázok ako je,StretchImageho roztiahne bez ohľadu na pomer strán na celú veľkosťPictureBoxu,AutoSizenastavíPictureBoxu veľkosť podľa obrázku,CenterImageobrázok vycentruje a konečneZoomroztiahne (či zmenší) vzhľadom na pomer strán.
Udalosti
Paint- Zavolá sa vo chvíli prekreslenie obrázku (teda kedy si formulár povie o to, aby sa obrázok znovu vykreslil. To sa stane pri vytvorení formulára alebo napr. Keď cez formulár prejdeme iným oknom). V tejto metóde zvyčajne na plátno obrázku kreslíme vlastnú grafiku, robí sa to metódami na vlastnostiGraphics, ktorú nájdeme na premennéez parametra metódy. Počas kurzu sme si to vyskúšali.
DateTimePicker (Výber dátumu a času)

DateTimePicker nám umožňuje dôstojne zadávať dátum a
čas. Určite sa oplatí tento ovládací prvok na tento účel používať, pre
užívateľov je to pohodlné a pre nás tiež. Nemusíme hodnoty zložito
parsovať z TextBox u, ušetríme si reakcie na zle zadané hodnoty
a zároveň za nás zadávanie vyrieši operačný systém. Ten nám poskytne
pekný kalendár k zadaniu dátumu a k času pole s šipičkami.
Vlastnosti
Format- Vyberá formát výpisu. Môžeme si vybrať medzi dlhým a krátkym výpisom dátumu, výpisom času a potom i vlastným formátom, ten tu však nebudeme riešiť.
Takto vyzerá Picker pre výber času:

ShowUpDown(bool) - určuje, či sa má zobrazovať UpDown (šipičky, ktoré sú vhodné najmä na zadanie času) alebo Výjazdný kalendár (ten je perfektný na zadanie dáta).Value- Zadaná hodnota.
Udalosti
ValueChanged- Vyvolá sa vo chvíli, keď užívateľ zmení zadanú hodnotu.
MonthCalendar (Mesačný kalendár)

Kalendár nám umožňuje zobrazovať dni v mesiaci, označovať ich a vykresľovať niektoré ako tučné. Ponúka sa ako súčasť nejakej agendy.
Vlastnosti
BoldedDays(DateTime[]) - PoleDateTime, nastavené na dni, ktoré sa majú vykresliť ako tučné. Takto napr. Označíme dni, v ktorej máme nejakú schôdzku.MonthlyBoldedDays(DateTime[]) - Podobne ako vyššie môžeme tučné dni navoliť bez ohľadu na mesiac, budú sa tak zobrazovať tučne v každom mesiaci.AnnuallyBoldedDays- Opäť podobne tučné dni, tieto sa zobrazí každý rok, na roku teda nezáleží.CalendarDimensions- Počet mesiacov vykreslených zvisle a vodorovne.ShowToday(bool) - Umožňuje vypnúť dolnú lištu s dnešným dátumom.ShowTodayCircle(bool) - Umožňuje vypnúť zvýraznenie dnešného dňa krúžkom.ShowWeekNumbers(bool) - Vypíše aj čísla týždňov.
Udalosti
DateChanged- Vyvolá sa pri zmene výberu dáta (alebo rozsahu dát) alebo pri prechode šípkami na ďalší / predchádzajúci mesiac.DateSelected- Vyvolá sa pri zmene výberu dáta (alebo rozsahu dát).
To je zas pre dnešok všetko. V budúcej lekcii, Windows Forms - Dialógy , budeme pokračovať s naším prieskumom ovládacích prvkov v .NET.

David sa informačné technológie naučil na