鍵盤訊息到達 WndProc 後,經由三個可覆寫方法處理:
| 方法 | 說明 |
|---|---|
ProcessKeyMessage | 處理所有鍵盤訊息的總入口 |
ProcessKeyPreview | 將訊息轉發父控件;回傳 true 則不產生鍵事件 |
ProcessKeyEventArgs | 根據需要引發 KeyDown/KeyPress/KeyUp 事件 |
| 任務 | 覆寫方法 | 範例 |
|---|---|---|
| 攔截導航鍵引發 KeyDown | IsInputKey | TextBox 處理 Tab/Enter |
| 控件特殊輸入/導航 (KeyDown 階段) | ProcessDialogKey | ListBox 方向鍵切換選項 |
| 攔截字符鍵引發 KeyPress | IsInputChar | 數值輸入框方向鍵加速 |
| 特殊輸入/導航 (KeyPress 階段) | ProcessDialogChar | ListBox 按 'r' 跳至 r 開頭項目 |
掌握這些覆寫點,可實現進階鍵盤互動(如訊息到達控件前攔截、自訂導航行為)。