title: Detect Key in KeyUp event
body: <p>I have a textbox on a form where I'm trying to detect the keys the user types in. The TextBox is multilined with wordwrap on. I don't want the user the press the enter key (as I want all text entered on ONE line, wrapped) so I used the following code:</p>
  
  <pre><code>private void txtPlain_KeyPress(object sender, KeyPressEventArgs e) {
      if (e.KeyChar == (char)13) {
          MessageBox.Show("Enter keys are not allowed");
          e.KeyChar = (char)0;
      }
  }
  </code></pre>
  
  <p>This worked fine in my tests, but when I tested for CTRL+ENTER it didn't work as I'm not sure how to detect for the control key. From my googling I found that I need to use the KeyUp/Down events so I now have the following Code:</p>
  
  <pre><code>private void txtPlain_KeyUp(object sender, KeyEventArgs e) {
      //if (e.KeyData == (Keys.Control | Keys.Enter)) {
  
      if (e.KeyCode == Keys.Enter || (e.KeyCode == Keys.Enter &amp;&amp; e.Control)) {            
          MessageBox.Show("Enter keys are not allowed:");
          //e.KeyValue = Keys.None;
      }
  }
  </code></pre>
  
  <p>The first commented out line didn't work for some reason so if anyone could explain why this would be useful.</p>
  
  <p>The problem with the KeyUp/Down event is that I don't know how to REMOVE the enter key from the text - unlike the KeyPress event when I can set the KeyChar to zero. The event captures both the Enter and Ctrl+Enter keys, but the cursor still goes to the next line in the TextBox.</p>
  
  <p>Thanks for any help on this.</p>