語言

使用鍵盤事件

大部分的 Windows Form 程式藉由處理鍵盤事件來處理鍵盤輸入。 本文概述了鍵盤事件,包括何時使用每個事件以及每個事件所提供的資料。 如需一般事件的詳細資訊,請參閱 事件概觀。

鍵盤事件

當使用者按下並放開鍵盤鍵時,Windows Forms 會觸發以下事件:

當使用者按下按鍵時,Windows Form 會依據鍵盤訊息指定字元鍵或實體鍵來決定要引發哪個事件。 如需有關字元與實體鍵的詳細資訊,請參閱鍵盤概觀,鍵盤事件。

KeyDown 活動

當使用者按下實體按鍵時,事件 KeyDown 會被觸發。 若按住按鍵,此事件會依作業系統鍵盤重複頻率重複發生。

KeyDown 的處理器接收一個 KeyEventArgs 參數,提供:

  • 這個 KeyCode 屬性,指定了一個實體鍵盤按鈕。
  • 屬性 Modifiers (Shift,Ctrl,或 Alt)。
  • 這個 KeyData 屬性結合了金鑰碼與修飾符。
  • 這個 Handled 特性,防止底層控制在設定時接收該金鑰。
  • SuppressKeyPress 屬性會抑制該按鍵的 KeyPress 和 KeyUp 事件。

KeyPress 活動

當按下鍵或鍵組而生成字元時,事件 KeyPress 會被觸發。 例如,按下 Shift 鍵並按小寫「a」鍵,會產生一個大寫字母「A」字元。 KeyPress 在 KeyDown 之後被觸發,當按鍵持續按住時,會以作業系統鍵盤的重複速率重複。

處理器 KeyPress 會收到一個 KeyPressEventArgs 參數,包含所按鍵的字元代碼。 對於每種字元鍵和輔助按鍵的組合而言,此字元碼是唯一的。

例如,「A」 金鑰會產生:

  • 如果用 Shift 鍵按,則是字元代碼 65。
  • 當 大寫鎖定 啟用時,字元代碼為 65。
  • 如果是單獨按下,則是字元代碼 97。
  • 如果用 Ctrl 鍵按,字元代碼會是 1。

KeyUp 活動

當使用者釋放實體金鑰時,事件 KeyUp 會被觸發一次。

處理器 KeyUp 接收 KeyEventArgs 參數,提供:

  • 這個 KeyCode 屬性,指定了一個實體鍵盤按鈕。
  • 屬性 Modifiers (Shift、Ctrl 或 Alt)。
  • 這個 KeyData 屬性結合了金鑰碼與修飾符。

另請參閱