title: keydown in c# doesn't work for some reason
body: <p>I'm trying to do a calculator and all I have to do is make it work with the keyboard. This should work but it doesn't.</p>
  
  <pre><code>    private void Form1_KeyDown(object sender, KeyEventArgs e)
      {
          if (e.KeyCode == Keys.D1)
          {
              resultarea.Text = "fgdgd";
              //number(1);
  
          }
      ....
      }
  </code></pre>
  
  <p>Any idea what could have gone wrong?</p>
  
  <p>Edit: it's still not working. I figured I might aswell post the whole code.</p>
  
  <pre><code>public partial class Form1 : Form
  {
      public Form1()
      {
          InitializeComponent();
          KeyPreview = true;
  
      }
      double first = 0;
      double second = 0;
      string op = "";
      bool last = true;
  
      public void calculate()
      {
          double aux = first;
          first = second;
  
          if (op == "+")
              second = aux + second;
          else if (op == "-")
              second = aux - second;
          else if (op == "*")
              second = aux * second;
          else if (op == "/")
              if (second == 0)
                  { first = aux; viewarea.Text = "Cannot divide by zero"; }
              else
                  second = aux / second;
          //if (viewarea.Text == "Cannot divide by zero")
              resultarea.Text = second.ToString();
  
      }
  
      public void number(int digit)
      {
          if (last == true)
          {
              resultarea.Clear();
              last = false;
              first = second;
              second = 0;
          }
          resultarea.Text += digit.ToString();
          second = second * 10 + digit;
  
      }
  
      public void sign(string sign)
      {
          if (last==false &amp;&amp; (first != 0 &amp;&amp; second != 0))
              calculate();
          op = sign;
          debug.Text = op;
          last = true;
      }
  
      private void equal_Click(object sender, EventArgs e)
      {
          if (last == false &amp;&amp; (first != 0 &amp;&amp; second !=0 ))
              calculate();
          op = "";
          last = true;
      }
  
      private void one_Click(object sender, EventArgs e)
      {
          number(1);
      }
  
      private void two_Click(object sender, EventArgs e)
      {
          number(2);
      }
  
      private void plus_Click(object sender, EventArgs e)
      {
          sign("+");
      }
  
      private void minus_Click(object sender, EventArgs e)
      {
          sign("-");
      }
  
  
  
      private void three_Click(object sender, EventArgs e)
      {
          number(3);
      }
  
      private void creset_Click(object sender, EventArgs e)
      {
          first = 0;
          second = 0;
          op = "";
          last = true;
          viewarea.Text = "";
          resultarea.Text = "";
          debug.Text = "";
      }
  
      private void four_Click(object sender, EventArgs e)
      {
          number(4);
      }
  
      private void five_Click(object sender, EventArgs e)
      {
          number(5);
      }
  
      private void six_Click(object sender, EventArgs e)
      {
          number(6);
      }
  
      private void seven_Click(object sender, EventArgs e)
      {
          number(7);
      }
  
      private void eight_Click(object sender, EventArgs e)
      {
          number(8);
      }
  
      private void nine_Click(object sender, EventArgs e)
      {
          number(9);
      }
  
      private void zero_Click(object sender, EventArgs e)
      {
          number(0);
      }
  
      private void divide_Click(object sender, EventArgs e)
      {
          sign("/");
      }
  
      private void times_Click(object sender, EventArgs e)
      {
          sign("*");
      }
  
      private void sqr_Click(object sender, EventArgs e)
      {
          second = Math.Sqrt(second);
          resultarea.Text = second.ToString();
      }
  
      private void cos_Click(object sender, EventArgs e)
      {
          second = Math.Cos(second);
          resultarea.Text = second.ToString();
      }
  
      private void sin_Click(object sender, EventArgs e)
      {
          second = Math.Sin(second);
          resultarea.Text = second.ToString();
      }
  
      private void tan_Click(object sender, EventArgs e)
      {
          second = Math.Tan(second);
          resultarea.Text = second.ToString();
      }
  
      private void nfac_Click(object sender, EventArgs e)
      {
          double aux = second;
          if (second == 0)
              aux = 1;
          else
          for (double i = 1; i &lt; second; i++)
              aux= aux*i;
          second = aux;
          resultarea.Text = second.ToString();
      }
  
      private void log_Click(object sender, EventArgs e)
      {
          second = Math.Log(second);
          resultarea.Text = second.ToString();
      }
  
      private void ln_Click(object sender, EventArgs e)
      {
          second = Math.Log10(second);
          resultarea.Text = second.ToString();
      }
  
      private void xexp_Click(object sender, EventArgs e)
      {
          second = Math.Pow(second ,2);
          resultarea.Text = second.ToString();
      }
  
      private void dot_Click(object sender, EventArgs e)
      {
  
      }
  
      private void Form1_KeyDown(object sender, KeyEventArgs e)
      {
          if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1)
          {
              viewarea.Text = "fgdgd";
              //number(1);
  
  
          }
          else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2)
          {
              number(2);
          }
          else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3)
          {
              number(3);
          }
          else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4)
          {
              number(4);
          }
          else if (e.KeyCode == Keys.D5 || e.KeyCode == Keys.NumPad5)
          {
              number(5);
          }
          else if (e.KeyCode == Keys.D6 || e.KeyCode == Keys.NumPad6)
          {
              number(6);
          }
          else if (e.KeyCode == Keys.D7 || e.KeyCode == Keys.NumPad7)
          {
              number(7);
          }
          else if (e.KeyCode == Keys.D8 || e.KeyCode == Keys.NumPad8)
          {
              number(8);
          }
          else if (e.KeyCode == Keys.D9 || e.KeyCode == Keys.NumPad9)
          {
              number(9);
          }
          else if (e.KeyCode == Keys.Divide)
          {
              sign("/");
          }
          else if (e.KeyCode == Keys.Subtract)
          {
              sign("-");
          }
          else if (e.KeyCode == Keys.Add)
          {
              sign("+");
          }
          else if (e.KeyCode == Keys.Enter)
          {
              sign("=");
          }
      }
      private void Form1_Load(object sender, EventArgs e)
      {
  
      }
  
  
  }
  </code></pre>