使用鍵盤事件 (Windows Forms .NET)

大部分的 Windows Form 程式藉由處理鍵盤事件來處理鍵盤輸入。 本文提供鍵盤事件的概觀,包括何時使用每個事件和針對每個事件提供的資料的詳細資料。 如需一般事件的詳細資訊,請參閱 事件概觀(Windows Forms .NET)。

重要

.NET 7 和 .NET 6 的桌面指南檔正在建置中。

鍵盤事件

Windows Form 提供兩個在使用者按下鍵盤按鍵時會發生的事件,也提供一個當使用者鬆開鍵盤按鍵時會發生的事件:

  • 事件發生 KeyDown 一次。
  • 當使用者按住相同按鍵時,KeyPress 事件可以發生多次。
  • 當使用者鬆開按鍵,就會發生 KeyUp 事件一次。

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

下表描述這三個鍵盤事件。

鍵盤事件 描述 結果
KeyDown 當使用者按下實體鍵時,會引發這個事件。 KeyDown 的處理常式會接收:

KeyPress 當已按下的一個或更多按鍵產生字元時,會引發這個事件。 例如,使用者按下 SHIFT 和小寫 "a" 按鍵,會產生大寫字母的 "A" 字元。 KeyPress 之後會引發 KeyDown

  • KeyPress 的處理常式會接收:
  • KeyPressEventArgs 參數,其中包含已按下按鍵的字元碼。 對於每種字元鍵和輔助按鍵的組合而言,此字元碼是唯一的。

    例如,"A" 按鍵會產生:

    • 若與 SHIFT 鍵一同按下,則產生字元碼 65,
    • 若 CAPS LOCK 鍵已開啟且只按下它,則產生 97,
    • 若與 CTRL 鍵一同按下,則產生 1。
KeyUp 當使用者鬆開實體鍵時,會引發這個事件。 KeyUp 的處理常式會接收:

另請參閱