我正在开发一个与winforms混合的游戏(用于地图编辑器)。我面临的问题是,即使主游戏窗口没有聚焦,它仍然会收到鼠标更改事件(例如单击并移动鼠标)。
在继续处理这些事件之前,是否有办法确保我的应用程序处于焦点状态?是否存在某种内置方法?
谢谢!
答案 0 :(得分:17)
使用Game.IsActive
属性检查是否应该处理鼠标和键盘输入。
答案 1 :(得分:2)
如果您添加对System.Windows.Forms
的引用,您可以检查XNA窗口是否处于活动状态:
if (System.Windows.Forms.Form.ActiveForm ==
(System.Windows.Forms.Control.FromHandle(Window.Handle) as System.Windows.Forms.Form))
{
// Active form is the XNA window.
}