たとえばC#のForm派生クラスのPaintハンドラを実装する場合、2つ方法がありますよね。

1つは、基本クラス(Controlクラス)のOnPaintメソッドをオーバーライドする方法
1つは、PaintEventHandlerメソッドを新規に作ってForm派生クラスのPaintイベントにアタッチする方法

僕が参考にしている本ではOnPaintメソッドをオーバーライドする方法が
推奨されているようなことが書いてあったんだけど、VisualStudio.NETの
機能を使ってイベントハンドラを実装すると、メソッドを新規に作って
Paintイベントにアタッチしています。

実際どちらの方法を使うのがいいんでしょう?