title: Capture MouseDown event for .NET TextBox
body: <p>Is there any way to capture the MouseDown even from the .NET 2.0 TextBox control?
  I know the inherited Control class has the event, but it's not exposed in TextBox.
  Is there a way to override the event handler?</p>
  
  <p>I also tried the OpenNETCF TextBox2 control which does have the MouseDown event exposed, but no matter what I do, it doesn't fire the handler.</p>
  
  <p>Any suggestions?</p>
  
  <hr>
  
  <blockquote>
    <p>What kind of crazy mobile device do
    you have that has a mouse? :)</p>
  </blockquote>
  
  <p>Yes, windows mobile does not have an actual mouse, but you are mistaken that Windows Mobile .NET do not support the Mouse events.  A click or move on the screen is still considered a "Mouse" event.  It was done this way so that code could port over from full Windows easily.  And this is not a Windows Mobile specific issue.  The TextBox control on Windows does not have native mouse events either.  I just happened to be using Windows Mobile in this case.</p>
  
  <p>Edit:  And on a side note...as Windows Mobile is built of the WindowsCE core which is often used for embedded desktop systems and Slim Terminal Services clients or "WinTerms" it has support for a hardware mouse and has for a long time.  Most devices just don't have the ports to plug one in.</p>
  
  <hr>
  
  <blockquote>
    <p>According to the .Net Framework, the
    MouseDown Event Handler on a TextBox
    is supported. What happens when you
    try to run the code?</p>
  </blockquote>
  
  <p>Actually, that's only there because it inherits it from "Control", as does <em>every</em> other Form control.  It is, however, overridden (and changed to private I believe) in the TextBox class.  So it will not show up in IntelliSense in Visual Studio.</p>
  
  <p>However, you actually can write the code:</p>
  
  <pre><code>textBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.textBox1_MouseDown);
  </code></pre>
  
  <p>and it will compile and run just fine, the only problem is that textBox1_MouseDown() will not be fired when you tap the TextBox control.  I assume this is because of the Event being overridden internally.  I don't even want to change what's happening on the event internally, I just want to add my own event handler to that event so I can fire some custom code as you could with any other event.</p>