Używanie zdarzeń klawiatury (Windows Forms .NET)

Większość programów Windows Forms przetwarza wprowadzanie klawiatury przez obsługę zdarzeń klawiatury. Ten artykuł 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. Aby uzyskać więcej informacji o zdarzeniach ogólnych, zobacz Omówienie zdarzeń (Windows Forms .NET).

Zdarzenia klawiatury

Formularze systemu Windows udostępnia dwa zdarzenia, które występują, gdy użytkownik naciśnie klawiatury i jedno zdarzenie, gdy użytkownik zwolni 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, formularze systemu Windows określają, które zdarzenie ma być wywoływane na podstawie tego, czy komunikat klawiatury określa znaku, czy klucz fizyczny. Aby uzyskać więcej informacji na temat znaków i fizycznych, zobacz Omówienie klawiatury, zdarzenia klawiatury.

W poniższej tabeli opisano trzy zdarzenia klawiatury.

Zdarzenie klawiatury opis Wyniki
KeyDown To zdarzenie jest zgłaszane, gdy użytkownik naciska 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.
KeyPress To zdarzenie jest zgłaszane, gdy naciśnięcie lub powoduje znak. Na przykład użytkownik naciska 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, 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ą SHIFT
    • Lub CAPS LOCK, 97, jeśli jest on naciśnięty przez siebie,
    • I 1, jeśli jest naciśnięty za pomocą 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ż