namespace ComboTree { public class _ComboBase : ComboBox { // Event to handle when the down arrow is clicked public event EventHandler ArrowClicked; // protected virtual void OnArrowClicked(EventArgs e) { if (this.ArrowClicked != null) { this.ArrowClicked(this, e); } } // Overwrite the WndProc event to protected override void WndProc(ref System.Windows.Forms.Message m) { if (m.Msg == 0x201 || m.Msg == 0x203) //WM_LBUTTONDOWN or WM_LBUTTONDBLCLK { // Raise the event this.OnArrowClicked(new EventArgs()); // Pevent the list from opening return; } base.WndProc(ref m); } } }