title: Windows.Forms Mnemonics don't work
body: <p>I have more or less the same problem as <a href="https://stackoverflow.com/questions/32236272/wpf-controls-in-winforms-do-not-update-access-keys-mnemonic-underlines">this guy</a> but his post is 2 years old, so I thought I could open a new one.</p>
  
  <p>In the program I use labels and as I found out <a href="https://stackoverflow.com/questions/5728400/what-is-the-purpose-of-a-keyboard-mnemonic-on-a-label-control">mnemonics on labels trigger the <code>enter</code> event of the next control in the tab order</a>. So implemented <code>click</code> and <code>enter</code> methods. But here is the problem. I created a test program. The program persists out of two labels, a button and a textbox.</p>
  
  <p><img src="https://i.stack.imgur.com/o4fVG.png" alt="test program layout"></p>
  
  <p><img src="https://i.stack.imgur.com/957ka.png" alt="test program tab order"></p>
  
  <p>Second label is just to control if the <code>enter</code> event is fired. When I hit <code>ALT</code> the underscore appears fine but when I press the second key (for <code>Reset</code>) nothing happens. Furthermore if the underscore appears and I press the <code>ALT</code> key again he doesn't disappear and the <code>button</code> totally ignores if <code>ALT</code> is pressed or not. 
  I moved to an other pc with VisualStudio 2013 but got the same result. I downloaded the VisualStudio 2017, tried to create new program => does not work either. </p>
  
  <p>English is not the language I know the best, so I'm glad if you can give me a hint when I wrote something wrong.
  I hope someone can help me.</p>
  
  <p>Form1.cs</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Windows.Forms;
  
  namespace WindowsFormsApplication1
  {
      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
          }
  
          private void reset_Click(object sender, EventArgs e)
          {
              textBox.Text = "";
          }
  
          private void button_Click(object sender, EventArgs e)
          {
              textBox.Text = "Button";
          }
  
          private void nothing_Enter(object sender, EventArgs e)
          {
              textBox.Text = "nothing";
          }
      }
  }
  </code></pre>
  
  <p>Form1.Designer.cs</p>
  
  <pre><code>        this.reset.Click += new System.EventHandler(this.reset_Click);
          this.button.Click += new System.EventHandler(this.button_Click);
          this.nothing.Enter += new System.EventHandler(this.nothing_Enter);
  </code></pre>