title: error message no suitable method found to override
body: <p>hi there im a novice i have been creating the menu navigation for a game im going to make and ran into this pesky error message i know it will be a simple problem but for the life of me i can't see it ill post the code below  </p>
  
  <pre><code>namespace Platformer
  {
      /// &lt;summary&gt;
      /// This is the main type for your game
      /// &lt;/summary&gt;
      public class Game1 : Microsoft.Xna.Framework.Game
      {
          GraphicsDeviceManager graphics;
          SpriteBatch spriteBatch;
  
          public Game1()
          {
              graphics = new GraphicsDeviceManager(this);
              Content.RootDirectory = "Content";
          }
  
          /// &lt;summary&gt;
          /// Allows the game to perform any initialization it needs to before starting to run.
          /// This is where it can query for any required services and load any non-graphic
          /// related content.  Calling base.Initialize will enumerate through any components
          /// and initialize them as well.
          /// &lt;/summary&gt;
          protected override void Initialize()
          {
              Screen_Manager.Instance.Initiaize();
  
              Screen_Manager.Instance.Dimensions = new Vector2(800, 600);
              graphics.PreferredBackBufferWidth = (int)Screen_Manager.Instance.Dimensions.X;
              graphics.PreferredBackBufferHeight = (int)Screen_Manager.Instance.Dimensions.Y;
              graphics.ApplyChanges();
  
  
  
              base.Initialize();
          }
  
          /// &lt;summary&gt;
          /// LoadContent will be called once per game and is the place to load
          /// all of your content.
          /// &lt;/summary&gt;
          protected override void LoadContent()
          {
              // Create a new SpriteBatch, which can be used to draw textures.
              spriteBatch = new SpriteBatch(GraphicsDevice);
  
              Screen_Manager.Instance.LoadContent(Content);
          }
  
          /// &lt;summary&gt;
          /// UnloadContent will be called once per game and is the place to unload
          /// all content.
          /// &lt;/summary&gt;
          protected override void UnloadContent()
          {
              // TODO: Unload any non ContentManager content here
  
          }
  
          /// &lt;summary&gt;
          /// Allows the game to run logic such as updating the world,
          /// checking for collisions, gathering input, and playing audio.
          /// &lt;/summary&gt;
          /// &lt;param name="gameTime"&gt;Provides a snapshot of timing values.&lt;/param&gt;
          protected override void Update(GameTime gameTime)
          {
              // Allows the game to exit
              if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                  this.Exit();
  
              Screen_Manager.Instance.Update(gameTime);
              base.Update(gameTime);
  
  
          }
  
          /// &lt;summary&gt;
          /// This is called when the game should draw itself.
          /// &lt;/summary&gt;
          /// &lt;param name="gameTime"&gt;Provides a snapshot of timing values.&lt;/param&gt;
          protected override void Draw(GameTime gameTime)
          {
              GraphicsDevice.Clear(Color.CornflowerBlue);
  
  
              spriteBatch.Begin();
              Screen_Manager.Instance.Draw(spriteBatch);
              spriteBatch.End();
              base.Draw(gameTime);
          }
      }
  }
  
   namespace Platformer
  {
      public class Screen_Manager
      {
  
          #region variables
  
          ContentManager content;                     //  creating custom ContentManger
  
          Game_Screen currentScreen;                  // screen being currently displayed
  
          Game_Screen newScreen;                      // new screen taking effect
  
          private static Screen_Manager instance;     // Screen Manger instance
  
  
         // Dictionary&lt;string, Game_Screen&gt; screens = new Dictionary&lt;string, Game_Screen&gt;();     // Game Screen storage
  
  
  
  
          Stack&lt;Game_Screen&gt; screenStack = new Stack&lt;Game_Screen&gt;();                           // lets me know order of screens Stack
  
  
          Vector2 dimensions;                                                                  // width&amp;Height of Screens  
  
          #endregion
  
          #region Properties
  
          public static Screen_Manager Instance
          {
              get
              {
                  if (instance == null)
                      instance = new Screen_Manager();
                  return instance;
              }
          }
  
          public Vector2 Dimensions
          { 
              get { return dimensions; }
              set { dimensions = value; }
          }
  
  
          #endregion
  
          #region Main Methods
  
          public void AddScreen(Game_Screen screen)
          {
              newScreen = screen;
              screenStack.Push(screen);
              currentScreen.UnloadContent();
              currentScreen = newScreen;
              currentScreen.LoadContent(content);
          }
  
          public void Initiaize() 
          {
              currentScreen = new Splash_Screen();
          }
  
          public void LoadContent(ContentManager Content) 
          {
              content = new ContentManager(Content.ServiceProvider, "Content");
              currentScreen.LoadContent(Content);
          }
  
          public virtual void Update(GameTime gameTime)
          {
                currentScreen.Update(gameTime);
          }
  
          public virtual void Draw(SpriteBatch spriteBatch) 
          { 
              currentScreen.Draw(spriteBatch);
          }
  
          #endregion
  
  
      }
  }
  
  namespace Platformer
  {
      public class Game_Screen
      {
          protected ContentManager content;
  
          public virtual void LoadContent(ContentManager Content) 
          {
              content = new ContentManager(Content.ServiceProvider, "content");
          }
  
          public virtual void UnloadContent() 
          {
              content.Unload();
          }
  
          public virtual void Update(GameTime gameTime) 
          { 
  
          }
  
          public virtual void Draw(SpriteBatch spriteBatch) 
          { 
  
          }
      }
  }
  
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  using Microsoft.Xna.Framework;
  using Microsoft.Xna.Framework.Content;
  using Microsoft.Xna.Framework.Graphics;
  using Microsoft.Xna.Framework.Input;
  
  namespace Platformer
  {
      public class Splash_Screen : Game_Screen
      {
          KeyboardState keystate;
          SpriteFont font;
  
          public override void LoadContent(ContentManager Content)
          {
              base.LoadContent(Content);
              if (font == null)
              font = content.Load&lt;SpriteFont&gt;("Font1");
          }
  
          public override void UnLoadContent()
          {
              base.UnloadContent();
          }
  
           public override void Update(GameTime gameTime)
           {
               keystate = Keyboard.GetState();
               if (keystate.IsKeyDown(Keys.Z))
                   Screen_Manager.Instance.AddScreen(new Title_Screen());
           }
  
           public override void Draw(SpriteBatch spriteBatch)
           {
               spriteBatch.DrawString(font, "SplashScreen",
                   new Vector2(100, 100), Color.Black);
           }
  
      }
  }
  namespace Platformer
  {
      public class Title_Screen : Game_Screen
      {
          KeyboardState keystate;
          SpriteFont font;
  
          public override void LoadContent(ContentManager Content)
          {
              base.LoadContent(Content);
              if (font == null)
                  font = content.Load&lt;SpriteFont&gt;("Font1");
          }
  
          public override void UnLoadcontent()
          {
              base.UnloadContent();
          }
  
          public override void Update(GameTime gameTime)
          {
              keystate = Keyboard.GetState();
              if (keystate.IsKeyDown(Keys.Enter))
                  Screen_Manager.Instance.AddScreen(new Splash_Screen());
          }
  
          public override void Draw(SpriteBatch spriteBatch)
          {
              spriteBatch.DrawString(font, "Title Screen",
                  new Vector2(100, 100), Color.Black);
          }
  
      }
  }
  </code></pre>