1. Override the method firing the event if it's marked as virtual
2. Declare a function with the same name and signature as "new", effectively
hiding the method in the base class.
Not quite sure exactly what you mean by base class event firing, but
virtually all standard events have virtual handlers in the base class. If
you override that handler and do not explicitly invoke it in your derived
class you accomplish what I think you want to accomplish.
For example, override OnPaint() in a form rather than implementing an
explicit event handler. The same technique can be used for your own events
and classes.