WinForms 2 – Button, CheckBox, TextBox, Label a LinkLabel

0
829

Csharp WF Series 2V druhom diely WinForms série sa pozrieme na prvých päť základných ovládacích prvkov a na prácu s nimi.

Medzi základné ovládacie prvky radím všetky prvky zo záložky Common Controls v Toolboxe. Dnes si povieme na čo slúžia, ich najdôležitejšie vlastnosti a eventy.

Na začiatok informujem o jednej základnej vlastnosti, ktorú majú všetky, alebo väčšina controlov a je to Enabled. Označuje či je control aktívny alebo nie a tým či je použiteľný používateľom.

 

Button

Button

Button, čiže tlačidlo je najzákladnejší ovládací prvok každej formulárovej aplikácie. Ponúka možnosť jednoduchého vyvolania akcie používateľom. Na to je používaný Click event. Tento event je možné urýchlene vygenerovať dvojitým kliknutím na tlačidlo v designeri.

Pomocou klasických vlastností BackColor a ForeColor je možné zmeniť farbu pozadia alebo popredia (písma). Ako pozadie môže poslúžiť aj obrázok v BackgroundImage, ktorého spôsob zobrazenia je pomocou BackgroundImageLayout možné zmeniť na : Tile dlaždice), Center (Stred), Stretch (Roztiahnutie) alebo Zoom (Zväčšenie). Ďalej je možné pomocou vlastnosti Image vybrať obrázok, ktorý sa bude nachádzať na tlačidle. Je možné použiť aj ImageList, ale o tom až neskôr. Vlastnosť Text obsahuje text zobrazovaný na tlačidle.

Všetky vlastnosti je možné pod ich menom nájsť ako v paneli Properties, tak ako členy objektu v kóde programu.

Na ukážku tu mám túto jednoduchú funkciu, ktorá počíta počet klikov a zobrazí informáciu ako text tlačidla. Meno funkcie je vygenerované podľa mena objektu a typu eventu.

 

 

CheckBox

CheckBox

CheckBox je jednoduché zaklikávatelné tlačidlo, často používané na označenie súhlasu používateľom. Hlavným eventom CheckBoxu je CheckedChanged, ktorý označuje zmenu zaškrtnutia, je však možné použiť aj event Click. Event CheckStateChanged je alternatíva k eventu CheckedChanged, ktorá ponúka možnosť čiastočného zaškrtnutia.

Väčšina vlastností CheckBoxu je zhodná z tlačidlom, má však aj niektoré vlastné, a to hlavne CheckedCheckState. Rovnako ako pri eventoch CheckState ponúka navyše možnosť čiastočného zaškrtnutia, zatial čo Checked je jednoduchá bool hodnota.

Jednoduchý príklad je aktivácia / deaktivácia tlačidla v závislosti na tom či je CheckBox zaškrtnutý. To je často používané napríklad pri informácií o súhlase s licenčnými podmienkami.

 

TextBox

TextBox

TextBox je control určený na získavanie vstupu od používateľa, ako napríklad jeho meno. Základným eventom je tento krát TextChanged, ktorý sa aktivuje vždy keď sa text zmení (nie len používateľom).

Všimnite si v designeri malú čiernu šípku v pravej hornej časti controlu. Táto šípka pri niektorých controloch dáva prístup k ich základným a dôležitým vlastnostiam, v tomto prípade vlastnosti MultiLine označujúcej možnosť viacerých riadkov v tomto controle. Túto vlastnosť je samozrejme možné ovplyvniť aj klasickým spôsobom ako všetky ostatné. Vlastnosť Text označuje Text, ktorý tento control obsahuje. K zaujímavejším vlastnostiam patria : PasswordCharUseSystemPasswordChar, ktoré dovoľujú skryť obsah TextBoxu. PasswordChar dovoľuje nadstaviť vlastný znak a UseSystemPasswordChar používať systémový. pokiaľ ani jedno nieje nadstavené, nebude sa obsah TextBoxu skrývať. Zaujímavá vlastnosť je aj CharacterCasing, ktorá dovolí nadstaviť aby všetky písmená boli zobrazované ako malé alebo veľké.  Vlastnosť ReadOnly zabezpečuje aby nebolo možné obsah TextBoxu upravovať používateľom s stane sa tak z neho pekné pole na zobrazenie informácií. Pri použití dlhšieho textu je vhodné aktivovať jeden alebo obidva Scrollbari pomocou vlastnosti ScrollBars.

 

Krátka ukážka jednoduchého zabezpečenia maximálnej dĺžky textu. Je to samozrejme možné spraviť aj efektívnejšie, ale na ukážku to stačí.

 

Label a LinkLabel

Label

Label a LinkLabel je dvojica veľmi podobných prvkov, ktoré aj podobne vyzerajú. Hlavným eventom Labelu je Click zatiaľ čo eventom LinkLabelu je LinkClicked.

Hlavnými vlastnosťami Labelu a LinkLabelu sú Text a vlastnosti definujúce písmo. LinkLabel má však navyše vlastnosti definujúce farbu odkazu LinkColor, farbu navštíveného odkazu VisitedLinkColor a vlastnosť LinkVisited informujúcu či už na daní odkaz používateľ klikol.

LinkLabel má však jednu špecifickú vlastnosť a to práve Link. Táto vlastnosť musí byť inicializovaná z kódu programu. Tu je jeden zo spôsobov ako to môžete dosiahnúť.

Je nutné vytvoriť nový Link, pridať mu údaje (napríklad web kam smeruje) a následne ho pridať do zoznamu linkov LinkLabelu.

Event LinkClicked neobsahuje klasický parameter EventArgs, ale parameter typu LinkLabelLinkClickedEventArgs, čo je naozaj pomerne dlhý a chaotický názov pre triedu.

Tento parameter obsahuje práve link na ktorý používateľ klikol a tak uľahčuje jeho otvorenie.

 

download Na záver vám sprístupním na stiahnutie malý ukážkový projekt.

 

Priklad

 

Nabudúce sa pozrieme na ďalšie základné prvky WinForms aplikácie.

Názory k článku

Please enter your comment!
Please enter your name here