UIElement.KeyDown 事件

定義

發生于 UIElement 有焦點時按下鍵盤按鍵時。

public:
 virtual event KeyEventHandler ^ KeyDown;
// Register
event_token KeyDown(KeyEventHandler const& handler) const;

// Revoke with event_token
void KeyDown(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::KeyDown_revoker KeyDown(auto_revoke_t, KeyEventHandler const& handler) const;
public event KeyEventHandler KeyDown;
function onKeyDown(eventArgs) { /* Your code */ }
uIElement.addEventListener("keydown", onKeyDown);
uIElement.removeEventListener("keydown", onKeyDown);
- or -
uIElement.onkeydown = onKeyDown;
Public Custom Event KeyDown As KeyEventHandler 
<uiElement KeyDown="eventhandler"/>

事件類型

備註

您 UI 中的控制項只有在取得輸入焦點時才會產生鍵盤事件。 根據預設,視覺化樹狀結構中的第一個可設定焦點元素是由系統提供焦點。 個別控制項會在使用者直接按一下或點選配置上的控制項時取得焦點,或是在內容區域內使用 Tab 鍵進入 Tab 順序時取得焦點。 您也可以呼叫 Control.Focus,以程式設計方式 將控制項焦點放在一起。

KeyDown 是路由事件。 如需路由事件概念的詳細資訊,請參閱 事件和路由事件概觀

KeyDown 使用 KeyRoutedEventArgs 事件資料。 對大多數處理常式案例來說,最相關的 KeyRoutedEventArgs 屬性是 Key,也有可能是 KeyStatus。 如需處理鍵盤事件的詳細資訊,包括定義 KeyEventHandler 方法的範例程式碼,請參閱 鍵盤互動

處理鍵盤事件的其中一個案例是支援應用程式的便捷鍵或快速鍵,或應用程式內的區域或控制項。 如需此案例的詳細資訊,請參閱 鍵盤協助工具

特定Windows 執行階段控制項可能有 KeyDown 輸入事件的類別型處理。 如果是,控制項可能具有 OnKeyDown方法的覆寫。 一般而言,這些類別處理常式是用來處理按鍵按下子集,以啟用與該控制項的鍵盤型使用者互動,而且此互動通常支援鍵盤協助工具功能。 如果按鍵按下是由類別型處理所處理,則按鍵按下會被視為已經處理,而且不會引發 KeyDown 事件,而該按鍵的控制項上任何使用者程式碼處理常式則不會特別引發。 這通常只是一些專用金鑰。 例如, ButtonBase 具有類別處理,讓空格鍵和 Enter 鍵會當做鍵盤對等專案來處理,以叫用 Button。 這提供相當於點選按鈕或按一下滑鼠的內建鍵盤,並啟用使用 UI 的協助工具案例,以及僅使用鍵盤的按鈕。 但 Space 或 Enter 以外的任何其他按鍵仍會引發ButtonKeyDown 和 KeyUp事件。 如需事件類別型處理運作方式的詳細資訊,請參閱 事件和路由事件概觀

KeyDown 支援將事件處理常式附加至將叫用的路由,即使事件的事件資料標示為 Handled 也一樣。 請參閱 AddHandler

適用於

另請參閱