Access (的 Attachment.KeyDown 事件)

KeyDown 事件發生於使用者按下按鍵時在表單或控制項有焦點。 如果將按鍵傳送至表單或控制項的使用 SendKeys 巨集指令的巨集或 Visual Basic 中的 SendKeys 陳述式,也會發生此事件。

語法

運算式KeyDown (KeyCodeShift)

表達 代表 Attachment 物件的變數。

參數

名稱 必要/選用 資料類型 描述
KeyCode 必要 整數 金鑰代碼,例如 vbKeyF1 (F1 金鑰) 或 vbKeyHome (主鍵) 。 若要指定按鍵碼,請使用物件瀏覽器中顯示的內部常數。 您可以將 KeyCode 設定為 0,以防止物件接收按鍵。
Shift 必要 整數 事件發生時 Shift、Ctrl 和 ALT 鍵的狀態。 如果您需要測試 Shift 引數,您可以使用下列其中一個內部常數作為位元遮罩:
  • acShiftMask Shift 鍵的位元遮罩。

  • acCtrlMask Ctrl 鍵的位元遮罩。

  • acAltMask ALT 鍵的位元遮罩。

註解

KeyDown事件僅適用于表單上的表單和控制項,不適用於報表上的控制項。

發生這些事件時執行巨集或事件程序,將 OnKeyDown 屬性設定為巨集名稱或 [事件程序]。

對於這兩個事件而言,取得焦點的物件會接收所有的按鍵動作。 當表單中含有控制項,或是表單中所有的可見控制項尚未全部失效時,該表單便無法取得焦點。

表單也會接收所有的鍵盤事件,即使這些發生控制項,如果您將表單的 KeyPreview 屬性設定為 [是]。 此屬性設定值與所有的鍵盤事件發生前的表單,然後控制項具有焦點。 您可以在表單中,不論其控制項有焦點時按下特定鍵回應。 例如,您可能想要按鍵組合 Ctrl+X 一律在表單上執行相同的動作。

如果您按住按鍵, KeyDownKeyPress 事件會 (KeyDownKeyPressKeyDownKeyPress等) 重複替代,直到您放開金鑰,然後發生 KeyUp 事件為止。

雖然 KeyDown 事件發生時所按下大部分的按鍵,其通常用於識別或區分:

  • 擴充字元按鍵,例如功能鍵。

  • 流覽鍵,例如 Home、End、PgUp、PgDn、Up 箭頭、向下箭號、向右箭號、向左箭號和索引標籤。

  • 按鍵和標準鍵盤修飾詞的組合 (Shift、Ctrl 或 ALT 鍵) 。

  • 數字鍵台及鍵盤數字鍵。

當您按下不會發生 KeyDown 事件:

  • 如果表單具有默 屬性設為 [是] 的命令按鈕,則為 Enter 鍵。

  • 如果表單具有 Cancel 屬性設 為 [是] 的命令按鈕,則為 Esc 鍵。

當您按下或傳送 ANSI 鍵,就會發生 KeyDown 事件。 KeyUp 事件發生在任何事件之後按下或傳送按鍵而造成的控制項。 如果按鍵使焦點從一個控制項移到另一個控制項, KeyDown 事件發生的第一個控制項、 KeyPressKeyUp 事件發生的第二個控制項時。

若要找出按鍵所對應的 ANSI 字元,使用 KeyPress 事件。

如果強制回應對話方塊顯示時按下或傳送按鍵, KeyDownKeyPress 事件會發生,但不會發生 KeyUp 事件。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應