2012-05-10 7 views
3

Je tente de cacher ma fenêtre de jeu XNA, mais je ne semble pas être en mesure d'ici ce que j'ai essayé jusqu'ici de ce que je pouvais sortir de google.comment masquer XNA 4.0?

 Form frmXNA = (Form)Form.FromHandle(this.Window.Handle); 
     frmXNA.Hide(); 

J'ai aussi essayé

 Form frmXNA = (Form)Form.FromHandle(this.Window.Handle); 
     frmXNA.Visible = false; 

Je me dis que je fais quelque chose très simple mal et une fois qu'il a fait remarquer que je vais probablement rire à ce que je ne l'ai pas. Merci pour l'aide

+1

Pourquoi essayez-vous de cacher la fenêtre? Une application XNA n'aurait théoriquement qu'une seule fenêtre. – Tejs

+0

@Tejs _ "Une application XNA n'aurait théoriquement qu'une seule fenêtre" _ - OP essaye de cacher la fenêtre de jeu, ** pas ** _crée plusieurs windows – MickyD

Répondre

3

ajouter le refrence System.Windows.Form au projet, puis ajouter l'aide de statment:

using System.Windows.Forms; 

, puis ajoutez ceci dans la méthode Initialize:

Form MyGameForm = (Form)Form.FromHandle(Window.Handle); 
      MyGameForm.FormBorderStyle = FormBorderStyle.None; 

EDIT : MyBee le jeu avec l'opacité

Form MyGameForm = (Form)Form.FromHandle(Window.Handle); 
     MyGameForm.Opacity = 0; 
+0

Cela ne ferait que cacher la frontière, je dois tout rendre invisible – Dusty

+0

Je modifie la réponse, cela fonctionnera-t-il? – samy

+0

Merci Travaillé parfait, comme je l'ai dit, probablement quelque chose de facile je n'avais pas pensé à :) – Dusty

1

Vous peut utiliser la fonction form.Hide(), il suffit de l'appeler après la fenêtre de formulaire est affichée.

Voici un exemple qui ne masque la fenêtre que la première fois qu'elle est dessinée.

Form window = (Form)Form.FromHandle(Window.Handle); 
window.Shown += (e, s) => window.Hide(); 
+0

Ceci est la réponse réelle à la question de l'OP. J'ai essayé et ça marche. – pm89