*** ActiveX Control Event *** DO CASE * Handle each event or error. * Events Case THIS.CommEvent = 1 * SThreshold # of Characters to Transmit. this.OnNumberOfCharactersToTransmit() Case THIS.CommEvent = 2 * RThreshold # of characters Received. this.OnCharactersRecieved() Case THIS.CommEvent = 3 * Change in the CTS line. this.OnChangeCTS() *** ECT ECT ENDCASEEveryone of your case statements is handled by a method call which hides the actual implemenation of the ActiveX control. Now, you can add an instance of that class to your form, and isntead of worrying about the CommEvent property or case statements, you can just override the method(s) you want.