我有一個表單,創建一個類。該類處理在表單上觸發的事件。問題是我試圖使用KeyDown事件,但它不工作,因爲表單上有按鈕,它們捕獲KeyDown。我發現另一篇文章的解決方案是重寫ProcessCmdKey。問題是我不知道如何重寫另一個類中的方法。任何人都可以告訴我如何從其他課程中捕獲所有KeyDown事件?從另一個類C#覆蓋KeyDown#
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Left)
{
MoveLeft(); DrawGame(); DoWhatever();
return true; //for the active control to see the keypress, return false
}
else if (keyData == Keys.Right)
{
MoveRight(); DrawGame(); DoWhatever();
return true; //for the active control to see the keypress, return false
}
else if (keyData == Keys.Up)
{
MoveUp(); DrawGame(); DoWhatever();
return true; //for the active control to see the keypress, return false
}
else if (keyData == Keys.Down)
{
MoveDown(); DrawGame(); DoWhatever();
return true; //for the active control to see the keypress, return false
}
else
return base.ProcessCmdKey(ref msg, keyData);
}
你意識到「從另一個班級覆蓋......」沒有任何意義,對嗎? –