title: Smooth movement of a point in C#?
body: <p>I'm fairly new to programming in C# and might need some assistance with this problem I have encountered.
  My point, playerposition has a very jerky movement due to the delay caused when holding down a key. Like this: e ...   e e e e e e e e ;)</p>
  
  <p>How do you make it move around more smoothly, (getting rid of the delay?)</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Drawing;
  using System.Windows.Forms;
  
  namespace kek
  {
  
      class player
      {
          Image Player;
          Point Playerposition = new Point(600, 200);
          Form1 game;
          public void playerinitialize(Form game)
          {
              this.game = (Form1)game;
              Player = Bitmap.FromFile("player.png");
              game.KeyDown += Game_KeyDown;
              game.KeyPress += Game_KeyPress;
  
          }
  
          private void Game_KeyPress(object sender, KeyPressEventArgs e)
          {
              if (e.KeyChar &lt; 50)
              {
                  Playerposition.Y -= 10;
              }
  
          }
  
          private void Game_KeyDown(object sender, KeyEventArgs e)
          {
              //Player move on keypress
              if (e.KeyCode == Keys.W)
              {
                  Playerposition.Y -= 10;
              }
              if (e.KeyCode == Keys.S)
              {
                  Playerposition.Y += 10;
              }
              if (e.KeyCode == Keys.A)
              {
                  Playerposition.X -= 10;
              }
              if (e.KeyCode == Keys.D)
              {
                  Playerposition.X += 10;
              }
  
              //Playerposition.Y -= GamePad.GetState(PLayerIndex.One).ThumbSticks.Left.Y;
              //Playerposition.Y += GamePad.GetState(PLayerIndex.One).ThumbSticks.Right.Y;
  
              //Playerposition.X -= GamePad.GetState(PLayerIndex.One).ThumbSticks.Left.X;
              //Playerposition.X += GamePad.GetState(PLayerIndex.One).ThumbSticks.Right.X;
  
          }
          public void Draw(Graphics graphics)
          {
              //on update
  
              graphics.DrawImage(Player, Playerposition);
  
          }
      }
  }
  </code></pre>