Použití událostí klávesnice

Většina programů Windows Forms zpracovává zadávání klávesnice pomocí zpracování událostí klávesnice. Tento článek obsahuje přehled událostí klávesnice, včetně podrobností o tom, kdy použít každou událost a data zadaná pro každou událost. Další informace o událostech obecně naleznete v tématu Přehled událostí.

Události klávesnice

Windows Forms poskytuje dvě události, ke kterým dochází, když uživatel stiskne klávesovou klávesu a jednu událost, když uživatel uvolní klávesu klávesnice:

  • Událost KeyDown nastane jednou.
  • Událost KeyPress, ke které může dojít vícekrát, když uživatel drží stejný klíč.
  • Událost KeyUp nastane jednou, když uživatel uvolní klíč.

Když uživatel stiskne klávesu, Windows Forms určí, která událost se má vyvolat, na základě toho, jestli zpráva klávesnice určuje znakovou klávesu nebo fyzickou klávesu. Další informace o znakových a fyzických klávesách naleznete v tématu Přehled klávesnice, události klávesnice.

Následující tabulka popisuje tři události klávesnice.

Událost klávesnice Popis Výsledky
KeyDown Tato událost se vyvolá, když uživatel stiskne fyzickou klávesu. Obsluha pro KeyDown přijímá:

  • Parametr KeyEventArgs, který poskytuje vlastnost KeyCode (která určuje tlačítko fyzické klávesnice).
  • Vlastnost Modifiers (SHIFT, CTRL nebo ALT).
  • Vlastnost KeyData (která kombinuje kód klíče a modifikátor). Parametr KeyEventArgs také poskytuje:

    • Vlastnost Handled, kterou lze nastavit, aby zabránila přijetí klíče podkladovým ovládacím prvkem.
    • Vlastnost SuppressKeyPress, kterou lze použít k potlačení událostí KeyPress a KeyUp při stisknutí klávesy.
KeyPress Tato událost se vyvolá, když stisk jedné nebo více kláves vyústí ve vytvoření znaku. Uživatel například stiskne klávesu SHIFT a malá písmena "a", což má za následek velké písmeno "A". KeyPress je aktivována po KeyDown.

  • Obsluha pro KeyPress přijímá:
  • Parametr KeyPressEventArgs, který obsahuje kód znaku stisknuté klávesy. Tento kód znaku je jedinečný pro každou kombinaci znakové klávesy a modifikační klávesy.

    Například klíč "A" vygeneruje:

    • Kód znaku 65, pokud je stisknut klávesou Shift
    • Nebo caps lock je zapnutý, 97, pokud je stisknut sám,
    • A 1, pokud je stisknutá klávesou Ctrl .
KeyUp Tato událost se vyvolá, když uživatel uvolní fyzický klíč. Obsluha pro KeyUp přijímá:

  • Parametr KeyEventArgs:

    • Která poskytuje vlastnost KeyCode (která určuje fyzické tlačítko klávesnice).
    • Vlastnost Modifiers (SHIFT, CTRL nebo ALT).
    • Vlastnost KeyData (která kombinuje kód klíče a modifikátor).

Viz také