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 鍵來逐步執行內容區域內的索引標籤順序時,個別控件會取得焦點。 您也可以呼叫 UIElement.Focus (Microsoft.UI.Xaml.FocusState) , 以程序設計方式將控件設為焦點。

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

KeyDown 使用 KeyRoutedEventArgs 事件數據。 在大部分處理程式案例中,最相關的屬性 KeyRoutedEventArgsKey 和可能 KeyStatus。 如需處理鍵盤事件的詳細資訊,包括定義 KeyEventHandler 方法的範例程式代碼,請參閱 鍵盤互動

處理鍵盤事件的其中一個案例是支援應用程式的訪問鍵或快捷鍵,或應用程式內的區域或控件。 如需此案例的詳細資訊,請參閱 鍵盤輔助功能

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

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

適用於

另請參閱