title: Is there a way to clear a TextBox's text without TextChanged firing?
body: <p>In my application I'd like to handle <code>TextBox</code> input in certain cases (some criteria is not filled, for example) and because <code>KeyDown</code> is useful only for keyboard input but not actual pasting from the clipboard (I wouldn't want to go through the trouble of doing that using Win32 calls anyway), I figured I'd just handle everything in my primary TextBox's <code>TextChanged</code> event. However, when there is something "wrong" and the user should not be able to type in it, if I am to call <code>TextBox.Clear();</code> on it, TextChanged fires a second time, understandably, so the message gets displayed two times, as well. That's kind of annoying. Any way I can handle TextChanged only in this case? Sample code (inside <code>txtMyText_TextChanged</code>) :</p>
  
  <pre><code>if (txtMyOtherText.Text == string.Empty)
  {
      MessageBox.Show("The other text field should not be empty.");
  
      txtMyText.Clear(); // This fires the TextChanged event a second time, which I don't want.
  
      return;
  } 
  </code></pre>