0
我製作了一個角色使用wasd移動的遊戲。在右側的相同形式中有一些按鈕和其他控件,但是當它們被按下時,角色不會對keydown事件作出響應。我該如何解決這個問題?單擊按鈕後,按鍵不受監視
我製作了一個角色使用wasd移動的遊戲。在右側的相同形式中有一些按鈕和其他控件,但是當它們被按下時,角色不會對keydown事件作出響應。我該如何解決這個問題?單擊按鈕後,按鍵不受監視
說明:
這是因爲Windows具有「焦點」的概念。 (請閱讀它。)關鍵事件僅發送給具有焦點的控件,並且在任何給定時間,表單中只有一個控件具有焦點。你可能有一些呈現你的角色的控制,並且你已經把你的關鍵事件處理程序放在該控件上。當表單首次彈出時,您將注意力集中在呈現控件上,所以一切都很好。但是一旦你點擊另一個控件,該控件就會獲得焦點,所以你的渲染控件不再有焦點了。
解決方案:一個按鈕被點擊
後,使用SetFocus()
將焦點返回到您的渲染控制。
第1步:向我們顯示您的代碼。 –