Używanie zdarzeń klawiatury

Większość programów Windows Forms przetwarza wprowadzanie klawiatury przez obsługę zdarzeń klawiatury. Ten temat zawiera omówienie zdarzeń klawiatury, w tym szczegółowe informacje na temat tego, kiedy należy używać każdego zdarzenia i danych dostarczonych dla każdego zdarzenia. Zobacz również Omówienie procedur obsługi zdarzeń (Formularze systemu Windows) i Zdarzenia — omówienie (Formularze systemu Windows).

Zdarzenia klawiatury

Formularze systemu Windows udostępnia dwa zdarzenia, które występują, gdy użytkownik naciśnie klawisz klawiatury i jedno zdarzenie, gdy użytkownik zwolni klawisz klawiatury:

  • Zdarzenie KeyDown występuje raz

  • Zdarzenie KeyPress , które może wystąpić wielokrotnie, gdy użytkownik trzyma ten sam klucz.

  • Zdarzenie KeyUp występuje raz, gdy użytkownik zwolni klucz.

Gdy użytkownik naciśnie klawisz, formularze systemu Windows określają, które zdarzenie ma być wywoływane na podstawie tego, czy komunikat klawiatury określa klawisz znaku, czy klucz fizyczny. Aby uzyskać więcej informacji na temat znaków i klawiszy fizycznych, zobacz How Keyboard Input Works (Jak działa wprowadzanie klawiatury).

W poniższej tabeli opisano trzy zdarzenia klawiatury.

Zdarzenie klawiatury opis Wyniki
KeyDown To zdarzenie jest zgłaszane, gdy użytkownik naciska klawisz fizyczny. Procedura obsługi dla odbierania KeyDown :

  • KeyEventArgs Parametr, który udostępnia KeyCode właściwość (która określa fizyczny przycisk klawiatury).
  • Właściwość Modifiers (SHIFT, CTRL lub ALT).
  • Właściwość KeyData (która łączy kod klucza i modyfikator). Parametr KeyEventArgs zapewnia również:

    • Właściwość Handled , którą można ustawić, aby uniemożliwić odbieranie klucza przez kontrolkę podstawową.
    • Właściwość SuppressKeyPress , która może służyć do pomijania KeyPress zdarzeń i KeyUp dla tego naciśnięcia klawisza.
KeyPress To zdarzenie jest zgłaszane, gdy naciśnięcie klawisza lub klawiszy powoduje znak. Na przykład użytkownik naciska klawisze SHIFT i małe litery "a", co powoduje znak wielkiej litery "A". KeyPress jest wywoływany po KeyDown.

  • Procedura obsługi dla odbierania KeyPress :
  • KeyPressEventArgs Parametr, który zawiera kod znaku klawisza, który został naciśnięty. Ten kod znaku jest unikatowy dla każdej kombinacji klucza znaku i klucza modyfikatora.

    Na przykład klucz "A" wygeneruje:

    • Kod znaku 65, jeśli jest on naciśnięty za pomocą klawisza SHIFT
    • Lub klawisz CAPS LOCK, 97, jeśli jest on naciśnięty przez siebie,
    • I 1, jeśli jest naciśnięty za pomocą klawisza CTRL.
KeyUp To zdarzenie jest zgłaszane, gdy użytkownik zwalnia klucz fizyczny. Procedura obsługi dla odbierania KeyUp :

  • Parametr KeyEventArgs :

    • Która udostępnia KeyCode właściwość (która określa fizyczny przycisk klawiatury).
    • Właściwość Modifiers (SHIFT, CTRL lub ALT).
    • Właściwość KeyData (która łączy kod klucza i modyfikator).

Zobacz też