title: Forward a KeyPress-event
body: <p>I have a TextBox and would like to forward a KeyPress-event from another Form.</p>
  
  <p>So far I have my Form:</p>
  
  <pre><code>private readonly Action&lt;KeyPressEventArgs&gt; m_KeyPress;
  
  public KeyboardForm( Action&lt;KeyPressEventArgs&gt; keyPress )
  {
    m_KeyPress = keyPress;
  }
  
  protected override void OnKeyPress( KeyPressEventArgs e )
  {
    m_KeyPress( e );
    base.OnKeyPress( e );
  }
  </code></pre>
  
  <p>And a derived TextBox, which initializes the Form:</p>
  
  <pre><code>var keyboardForm = new KeyboardForm( OnKeyPress );
  keyboardForm.Show();
  </code></pre>
  
  <p>Now, the OnKeyPress-method gets called as expected (of the Form, then of the TextBox). But nevertheless nothing happens ... when I press 'a' I expected an 'a' to appear in my TextBox ...</p>
  
  <p>Does anyone have an idea what's the problem here?</p>
  
  <p>It is not working with <code>KeyDown</code>, too, and attaching to the regular exposed event <code>KeyPress</code> does not help me either. I think, that the problem is the explicit call of <code>OnKeyPress</code>. Is it allowed?</p>