public class MyComboBox : ComboBox public event EventHandler myEvent; protected virtual void OnMyEvent(EventArgs e) { if (this.myEvent != null) { this.myEvent(this, e); } } protected override void WndProc(ref System.Windows.Forms.Message m) { if (m.Msg == 0x201 //WM_LBUTTONDOWN || m.Msg == 0x203) //WM_LBUTTONDBLCLK { this.OnMyEvent(new EventArgs()); return; } base.WndProc(ref m); } } or Public Class MyComboBox Inherits ComboBox Public Event myEvent As EventHandler Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = &H201 OrElse m.Msg = &H203 Then 'WM_LBUTTONDOWN or WM_LBUTTONDBLCLK RaiseEvent myEvent(Me, New EventArgs) Return End If MyBase.WndProc(m) End Sub 'WndProc End Class 'MyComboBox