Použití událostí klávesnice (model Windows Forms .NET)

Většina model Windows Forms programů 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í (model Windows Forms .NET).

Důležité

Dokumentace k desktopové příručce pro .NET 7 a .NET 6 se právě připravuje.

Události klávesnice

model Windows Forms poskytuje dvě události, ke kterým dojde, 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, model 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 najdete 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. Obslužná rutina pro KeyDown příjem:

  • Parametr KeyEventArgs , který poskytuje KeyCode vlastnost (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). Tento KeyEventArgs parametr také poskytuje:

    • Vlastnost Handled , kterou lze nastavit tak, aby se zabránilo přijetí klíče podkladovým ovládacím prvkům.
    • Vlastnost SuppressKeyPress , kterou lze použít k potlačení KeyPress a KeyUp událostí pro dané stisknutí klávesy.
KeyPress Tato událost se vyvolá, když stisknutá klávesa nebo klávesy způsobí znak. Uživatel například stiskne klávesu SHIFT a malá písmena "a", což má za následek velké písmeno "A". KeyPress je vyvolána po KeyDown.

  • Obslužná rutina pro KeyPress příjem:
  • 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 klávesu CAPS LOCK, 97, pokud je stisknuta samostatně,
    • A 1, pokud je stisknuta klávesou CTRL.
KeyUp Tato událost se vyvolá, když uživatel uvolní fyzický klíč. Obslužná rutina pro KeyUp příjem:

  • Parametr KeyEventArgs :

    • Která poskytuje KeyCode vlastnost (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é