KeyPress 事件
會在使用者按下 ANSI 鍵時發生。
語法
Private Sub物件 _KeyPress ( ByValKeyANSIAs MSForms.ReturnInteger)
KeyPress事件語法包含下列部分:
部分 | 描述 |
---|---|
物件 | 必要。 有效物件。 |
KeyANSI | 此為必要動作。 表示標準數值 ANSI 金鑰代碼的整數值。 |
註解
KeyPress 事件會在使用者按下鍵時發生,該按鍵會產生可輸入的字元, (執行中表單上的 ANSI 鍵) ,而表單或其上的控制項具有 焦點。 此事件可以發生在放開此按鍵之前或之後。 如果您使用宏中的 SendKeys 巨集指令或 Visual Basic 中的 SendKeys 語句 ,將 ANSI 按鍵傳送至表單或控制項,也會發生此事件。
按下下列任一按鍵時,可能會發生 KeyPress 事件:
- 任何可列印的鍵盤字元
- CTRL 與標準字母中的字元結合
- CTRL 與任何特殊字元結合
- BACKSPACE
- ESC
在下列情況下不會發生 KeyPress 事件:
- 按 TAB 鍵。
- 按 ENTER 鍵。
- 按下方向鍵。
- 因為按下按鍵而讓焦點從某個控制項移到另一個控制項時
注意事項
BACKSPACE 是 ANSI 字元集的一部分,但 DELETE 不是。 使用 BACKSPACE 刪除控制項中的字元會導致 KeyPress 事件;使用 DELETE 刪除字元並不會。
當使用者按住產生 ANSI Keycode 的金鑰時,KeyDown 和 KeyPress 事件會重複替代。 當使用者放開金鑰時,會發生 KeyUp 事件。 具有焦點的表單或控制項會接收所有按鍵。 只有當表單沒有控制項,或其所有可見的控制項都已停用時,表單才能擁有焦點。
KeyPress 事件的預設動作是處理對應至按下之索引鍵的事件程式碼。 KeyANSI 表示對應至按下按鍵或按鍵組合的 ANSI 字元。 KeyPress 事件會將每個字元的大小寫解譯為個別的按鍵碼,因此會解譯為兩個不同的字元。
若要回應鍵盤的實體狀態,或處理 KeyPress 事件無法辨識的按鍵,例如函式按鍵、流覽鍵,以及這些與鍵盤修飾詞 (ALT、SHIFT 或 CTRL) 的任何組合,請使用 KeyDown 和 KeyUp 事件程序。
鍵盤相關事件的順序如下:
- KeyDown
- KeyPress
- KeyUp
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。