語言
大部分的 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 參數,提供: