2012-03-03 16 views
12

Estoy desarrollando un juego que se mezcla con winforms (para el editor de mapas). El problema al que me enfrento es que incluso si la ventana principal del juego no está enfocada, aún recibe eventos de cambio de mouse (como hacer clic y mover el mouse).Asegurándome de que mi juego XNA tiene foco antes de manejar eventos de mouse y teclado

¿Hay alguna manera de asegurarse de que mi aplicación esté enfocada antes de continuar para manejar estos eventos? ¿Existe algún tipo de método integrado?

Gracias!

Respuesta

18

Utilice la propiedad Game.IsActive para comprobar si debe tratar con el ratón y el teclado.

2

Si se agrega una referencia a System.Windows.Forms se puede comprobar si la ventana está activa XNA así:

if (System.Windows.Forms.Form.ActiveForm == 
    (System.Windows.Forms.Control.FromHandle(Window.Handle) as System.Windows.Forms.Form)) 
{ 
    // Active form is the XNA window. 
} 
Cuestiones relacionadas