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
, jeRadioButton
zaškrtnutý.Appearance
- Ak nastavíme naButton
, bude saRadioButton
vykresľovať ako obyčajné tlačidlo (teda akoButton
). ZaškrtnutýRadioButton
bude 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 saRadioButton
zaš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ť.Panel
je 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.Normal
zobrazí obrázok ako je,StretchImage
ho roztiahne bez ohľadu na pomer strán na celú veľkosťPictureBox
u,AutoSize
nastavíPictureBox
u veľkosť podľa obrázku,CenterImage
obrázok vycentruje a konečneZoom
roztiahne (č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ée
z 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.