2015-10-06 49 views
0

我製作了一個角色使用wasd移動的遊戲。在右側的相同形式中有一些按鈕和其他控件,但是當它們被按下時,角色不會對keydown事件作出響應。我該如何解決這個問題?單擊按鈕後,按鍵不受監視

+0

第1步:向我們顯示您的代碼。 –

回答

0

說明:

這是因爲Windows具有「焦點」的概念。 (請閱讀它。)關鍵事件僅發送給具有焦點的控件,並且在任何給定時間,表單中只有一個控件具有焦點。你可能有一些呈現你的角色的控制,並且你已經把你的關鍵事件處理程序放在該控件上。當表單首次彈出時,您將注意力集中在呈現控件上,所以一切都很好。但是一旦你點擊另一個控件,該控件就會獲得焦點,所以你的渲染控件不再有焦點了。

解決方案:一個按鈕被點擊

後,使用SetFocus()將焦點返回到您的渲染控制。