Udostępnij za pośrednictwem


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 na temat zdarzeń 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 klawisz, Windows Forms określa, które zdarzenie ma być wywołane na podstawie tego, czy komunikat klawiatury dotyczy klawisza znakowego czy fizycznego. Aby uzyskać więcej informacji o znakach i kluczach fizycznych, patrz 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 klawisz fizyczny. Program obsługi dla KeyDown odbiera:

  • Parametr KeyEventArgs, który udostępnia właściwość KeyCode (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 być użyta do tłumienia zdarzeń KeyPress i KeyUp dla tego naciśnięcia klawisza.
KeyPress To zdarzenie jest zgłaszane, gdy naciśnięcie klawisza lub klawiszy skutkuje wygenerowaniem znaku. Na przykład po naciśnięciu przez użytkownika klawiszy SHIFT i małej litery "a", w wyniku czego otrzymujemy znak wielkiej litery "A". KeyPress jest wywoływany po KeyDown.

  • Program obsługi dla KeyPress odbiera:
  • Parametr KeyPressEventArgs, który zawiera kod znaku naciśniętego klawisza. 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 klawisz CAPS LOCK, 97, jeśli zostanie naciśnięty samodzielnie,
    • I 1, jeśli jest naciśnięty za pomocą CTRL.
KeyUp To zdarzenie jest zgłaszane, gdy użytkownik zwalnia klucz fizyczny. Program obsługi dla KeyUp odbiera:

  • Parametr KeyEventArgs:

    • Która udostępnia właściwość KeyCode (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ż