我在Windows窗體中實現我自己的控件。這是一個樹形視圖,所以我必須實現導航鍵:箭頭,向上/向下翻頁和它們的組合以及移位和控制來處理多重選擇。Ctrl + PageUp/Down會有些奇怪嗎?
最近我發現,Ctrl + PageUp/PageDown的組合有點奇怪。主要是,它不會觸發OnKeyDown(只有ControlKey被捕獲)。此外,沒有其他按鍵被捕獲,直到我用鼠標點擊控制(它看起來像它失去焦點),我實現IsInputKey:
protected override bool IsInputKey(Keys keyData)
{
// Capture arrow keys
if ((keyData & (Keys.Up | Keys.Down | Keys.Left | Keys.Right |
Keys.PageDown | Keys.PageUp | Keys.ControlKey | Keys.Control)) != 0)
return true;
else
return base.IsInputKey(keyData);
}
沒有什麼特別的onkeydown事件處理程序。
這是怎麼回事?
你應該實施'KeyDown' –
你爲什麼這麼說? – Spook