How to: Get the Current Mouse Position (Windows)

This example demonstrates how to get the current horizontal and vertical position of the mouse cursor relative to the upper-left corner a game window.
This example applies only to Windows development. The Mouse and MouseState objects are not supported on Xbox 360.

The example queries the Mouse class to return a MouseState object that holds the button states and the current position of the mouse relative to the upper-left corner of the game window.

To retrieve the current mouse position

  1. Call GetState to get the current state of the mouse in a MouseState object.
  2. Access the X and Y properties of the MouseState retrieved in the previous section to get the X (horizontal) and Y (vertical) mouse position, in pixels, relative to the upper-left corner of the 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;

public class Game1 : Microsoft.Xna.Framework.Game
    GraphicsDeviceManager graphics;
    ContentManager content;

    int mouseX, mouseY;

    public Game1()
        graphics = new GraphicsDeviceManager( this );
        content = new ContentManager( Services );

    protected override void Initialize()

    protected override void LoadGraphicsContent( bool loadAllContent )
        if (loadAllContent)



    protected override void UnloadGraphicsContent( bool unloadAllContent )
        if (unloadAllContent == true)

    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)

        // Update our mouse.

        base.Update( gameTime );

    protected void UpdateMouse()
        MouseState current_mouse = Mouse.GetState();

        // The mouse x and y positions are returned relative to the
        // upper-left corner of the game window.

        mouseX = current_mouse.X;
        mouseY = current_mouse.Y;

    protected override void Draw( GameTime gameTime )
        graphics.GraphicsDevice.Clear( Color.CornflowerBlue );

        base.Draw( gameTime );