 <p>The decision of whether to override the method or use the event handler often times comes down to how much control you need to have over what happens during the execution of that method. Overriding the method gives you full control of the method, whereas the event handler only runs after the method has executed. </p> <p>If you need a high level of control over what happens during that method, I would advise overriding the method. If you simply need to run some code after execution of the method, I would use the event handler.</p> <pre><code>protected override void OnDeactivated(EventArgs e) { //run some code before execution (anything that could effect execution) //call the base method and fire the event base.OnDeactivated(e); //run some code after execution } </code></pre>