В общем, если вы реализуете базовый класс (то есть форму подкласса), лучше переопределить методы базового класса.
Это лучше по нескольким причинам - эти методы обычно выполняются первыми и всегда имеют гарантированный порядок (если вы используете событие, другие методы могут быть запущены через других подписчиков, которые могут помешать вашему методу). Кроме того, (немного) меньше накладных расходов на это.
Вероятно, лучшая причина, однако, в том, что это общепринятая практика, которая делает ваш код более понятным, особенно другими разработчиками.