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í.

Lekce 14 - Další ovládací prvky Windows Forms

V minulé lekci, Základní ovládací prvky Windows Forms, jsme si popsali několik základních formulářových prvků (controls), byly to Button, Label, TextBox, NumericUpDown, ComboBox, ListBox a CheckBox.

Dnes v C# .NET tutoriálu budeme v prohlídce Toolboxu pokračovat.

RadioButton (Přepínač)

RadioButton/Přepínač ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET

RadioButton (občas překládán jako rádiové tlačítko) je velmi podobný CheckBoxu. Rozdíl je v tom, že v aktuálním kontejneru může být zaškrtnutý pouze jeden RadioButton. Pokud jich vložíme více a nějaký zaškrtneme, ostatní se odškrtnou. Máme tak tedy možnost zvolit vždy jen jednu z nějaké množiny možností. RadioButtony obvykle používáme v případě, kdy je možností jen několik a ListBox by na formuláři nevypadal hezky.

Vlastnosti

  • Checked (bool) - Pokud je true, je RadioButton zaškrtnutý.
  • Appearance - Pokud nastavíme na Button, bude se RadioButton vykreslovat jako obyčejné tlačítko (tedy jako Button). Zaškrtnutý RadioButton bude vykreslen jako stisknuté tlačítko, ostatní jako nestisknutá.
  • Image - Pokud používáme Appearance = Button, můžeme tlačítku jednoduše nastavit ikonku.
  • TextAlign - Zarovnání textu popisku vůči zaškrtávacímu tlačítku.
  • ImageAlign - Zarovnání obrázku.
  • TextImageRelation - Zde můžeme nastavit vztah mezi textem a obrázkem. Text může být napsaný na obrázku, může být také nad ním, pod ním atd.

Události

  • CheckedChanged - Vyvolá se v případě, že se RadioButton zaškrtl nebo odškrtl.

GroupBox (Skupina)

GroupBox/Skupina ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET

Pokud spolu některé prvky na formuláři logicky souvisí, můžeme je umístit do nějakého kontejneru. Kontejner je ovládací prvek, který v sobě může obsahovat další prvky, ty do něj v designeru jednoduše naskládáme myší. Jedním z kontejnerů v .NETu je GroupBox. Zkuste si vytvořit GroupBox a nakliknout do něj několik prvků. Pokud ho nyní přesunete, uvidíte, že se tyto vložené prvky přesouvají spolu s ním.

Kromě zpřehlednění formuláře má vkládání ovládacích prvků do kontejnerů další výhody. Můžeme např. skrýt kontejner (nastavit mu Visible na false) a on zmizí i s jeho obsahem. Můžeme pomocí cyklu jednoduše přistupovat k prvkům uvnitř kontejneru pomocí jeho kolekce Controls. A v neposlední řadě do něj můžeme vložit RadioButtony, ze kterých může být vždy vybraný jen jeden. RadioButtonů může být vybraných více, pokud jsou v jiných kontejnerech.

Vlastnosti

  • Text - Nadpis skupiny.
  • Controls - Kolekce komponent vložených uvnitř skupiny.

Události

Žádné důležité.

Panel (Panel)

Panel ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET

Panel je dalším kontejnerovým ovládacím prvkem. Chová se stejně, jako GroupBox, pouze se jeho rámeček ve výchozím stavu nezobrazuje. Můžeme tak seskupovat některé prvky formuláře pro vnitřní potřebu aplikace a uživatel nic nepozná. Typickou ukázkou je naplnění např. 20ti TextBoxů nějakými hodnotami. Jednoduše je dáme do Panelu a cyklem projedeme jeho kolekci Controls, kterým nastavíme Text. Bez panelu bychom se k prvkům TextBox špatně dostávali a třeba si přepsali úplně všechny na formuláři.

Vlastnosti

  • BorderStyle - Styl rámečku. Můžeme nastavit None (žádný), FixedSingle (jednoduchý) a Fixed3D (stínovaný).
  • Controls - Kolekce komponent vložených uvnitř panelu.

Události

Žádné důležité.

FlowLayoutPanel (Panel s tekoucím obsahem)

FlowLayoutPanel/Panel s tekoucím obsahem ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET

FlowLayoutPanel za nás aranžuje prvky na formuláři. Zatímco v normálním panelu musíme prvku udat pozici, FlowLayoutPanel se na pozice nedívá a prvky vykresluje jak jdou za sebou, zleva doprava, shora dolů. To může být mnohdy užitečné.

Vlastnosti

  • FlowDirection - Můžeme nastavit jakým směrem se mají prvky vykreslovat. Panel je umí kreslit také zprava doleva nebo dokonce i svisle a to v obou směrech.
  • BorderStyle - Styl rámečku. Můžeme nastavit None (žádný), FixedSingle (jednoduchý) a Fixed3D (stínovaný).

Události

Žádné důležité.

PictureBox (Obrázek)

PictureBox/Obrázek ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET

PictureBox je obrázek, přesněji řečeno ovládací prvek s obrázkem. Hodí se ke zkrášlení designu aplikace. Často se ji také obrázek nepřiřadí a místo toho se na prázdný obrázek vykresluje (např. nějaký graf).

Vlastnosti

  • Image - Obrázek.
  • SizeMode - Režim zobrazení obrázku. Normal zobrazí obrázek jak je, StretchImage ho roztáhne bez ohledu na poměr stran na celou velikost PictureBoxu, AutoSize nastaví PictureBoxu velikost podle obrázku, CenterImage obrázek vystředí a konečně Zoom roztáhne (či zmenší) s ohledem na poměr stran.

Události

  • Paint - Zavolá se ve chvíli překreslení obrázku (tedy kdy si formulář řekne o to, aby se obrázek znovu vykreslil. To se stane při vytvoření formuláře nebo např. když přes formulář přejedeme jiným oknem). V této metodě obvykle na plátno obrázku kreslíme vlastní grafiku, dělá se to metodami na vlastnosti Graphics, kterou nalezneme na proměnné e z parametru metody. Během kurzu jsme si to vyzkoušeli.

DateTimePicker (Výběr data a času)

DateTimePicker/Výběr data a času ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET

DateTimePicker nám umožňuje důstojně zadávat datum a čas. Určitě se vyplatí tento ovládací prvek k tomuto účelu používat, pro uživatele je to pohodlné a pro nás také. Nemusíme hodnoty složitě parsovat z TextBoxu, ušetříme si reakce na špatně zadané hodnoty a zároveň za nás zadávání vyřeší operační systém. Ten nám poskytne hezký kalendář k zadání data a k času pole s šipičkami.

Vlastnosti

  • Format - Vybírá formát výpisu. Můžeme si vybrat mezi dlouhým a krátkým výpisem data, výpisem času a poté i vlastním formátem, ten tu však nebudeme řešit.

Takto vypadá Picker pro výběr času:

DateTimePicker/Výběr data a času ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET
  • ShowUpDown (bool) - Udává, zda se má zobrazovat UpDown (šipičky, které jsou vhodné zejména k zadání času) nebo vyjížděcí kalendář (ten je perfektní k zadání data).
  • Value - Zadaná hodnota.

Události

  • ValueChanged - Vyvolá se ve chvíli, kdy uživatel změní zadanou hodnotu.

MonthCalendar (Měsíční kalendář)

MonthCalendar/Měsíční kalendář ve Windows forms aplikaci - Windows Forms - Okenní aplikace v C# .NET

Kalendář nám umožňuje zobrazovat dny v měsíci, označovat je a vykreslovat některé jako tučné. Nabízí se jako součást nějaké agendy.

Vlastnosti

  • BoldedDays (DateTime[]) - Pole DateTime, nastavené na dny, které se mají vykreslit jako tučné. Takto např. označíme dny, ve které máme nějakou schůzku.
  • MonthlyBoldedDays (DateTime[]) - Podobně jako výše můžeme tučné dny navolit bez ohledu na měsíc, budou se tak zobrazovat tučně v každém měsíci.
  • AnnuallyBoldedDays - Opět podobně tučné dny, tyto se zobrazí každý rok, na roce tedy nezáleží.
  • CalendarDimensions - Počet měsíců vykreslených svisle a vodorovně.
  • ShowToday (bool) - Umožňuje vypnout dolní lištu s dnešním datem.
  • ShowTodayCircle (bool) - Umožňuje vypnout zvýraznění dnešního dne kroužkem.
  • ShowWeekNumbers (bool) - Vypíše i čísla týdnů.

Události

  • DateChanged - Vyvolá se při změně výběru data (nebo rozsahu dat) nebo při přechodu šipkami na další/předchozí měsíc.
  • DateSelected - Vyvolá se při změně výběru data (nebo rozsahu dat).

To je zas pro dnešek vše.

V příští lekci, Windows Forms - Dialogy, budeme pokračovat s naším průzkumem ovládacích prvků v .NETu.


 

Předchozí článek
Základní ovládací prvky Windows Forms
Všechny články v sekci
Windows Forms - Okenní aplikace v C# .NET
Přeskočit článek
(nedoporučujeme)
Windows Forms - Dialogy
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
19 hlasů
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity