How do I set the window / screen size in xna?

Viewed 90613

How can I adjust the size of the window in XNA.

Default it starts in a 800x600 resolution.

4 Answers

I found out that you need to set the

GraphicDevice.PreferredBackBufferHeight = height;
GraphicDevice.PreferredBackBufferWidth = width;

When you do this in the constructor of the game class it works, but when you try do to this outside the constructor you also need to call

GraphicsDevice.ApplyChanges();

Furthermore to have fullscreen (which is not really working correctly while debugging) you can use

if (!GraphicsDevice.IsFullScreen)
   GraphicsDevice.ToggleFullScreen();

This solution works in XNA 3.0. Just put it in your game object's constructor:

// Resize the screen to 1024 x 768.
IntPtr ptr = this.Window.Handle;
System.Windows.Forms.Form form = (System.Windows.Forms.Form)System.Windows.Forms.Control.FromHandle(ptr);
form.Size = new System.Drawing.Size(1024, 768);

graphics.PreferredBackBufferWidth = 1024;
graphics.PreferredBackBufferHeight = 768;

graphics.ApplyChanges();
Related