How to: Allow the Player to Resize a Game Window
Demonstrates how to let the player resize the game window.
To add player window resizing to a game
- Derive a class from Game.
- Set Game.GameWindow.AllowUserResizing to true.
- Create a custom EventHandler for the ClientSizeChanged event of Game.Window.
#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;
#endregion
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
ContentManager content;
public Game1()
{
graphics = new GraphicsDeviceManager( this );
content = new ContentManager( Services );
Window.AllowUserResizing = true;
// Subscribe to the game window's ClientSizeChanged event.
Window.ClientSizeChanged += new EventHandler( Window_ClientSizeChanged );
}
void Window_ClientSizeChanged( object sender, EventArgs e )
{
// Make changes to handle the new window size.
}
protected override void Initialize()
{
// TODO: Add your initialization logic here.
base.Initialize();
}
protected override void LoadGraphicsContent( bool loadAllContent )
{
if (loadAllContent)
{
// TODO: Load any ResourceManagementMode.Automatic content.
}
// TODO: Load any ResourceManagementMode.Manual content.
}
protected override void UnloadGraphicsContent( bool unloadAllContent )
{
if (unloadAllContent == true)
{
content.Unload();
}
}
protected override void Update( GameTime gameTime )
{
// Allows the default game to exit on Xbox 360 and Windows.
if (GamePad.GetState( PlayerIndex.One ).Buttons.Back == ButtonState.Pressed)
this.Exit();
// TODO: Add your update logic here.
base.Update( gameTime );
}
protected override void Draw( GameTime gameTime )
{
graphics.GraphicsDevice.Clear( Color.CornflowerBlue );
// TODO: Add your drawing code here.
base.Draw( gameTime );
}
}