ButtonBase ではなく Control から継承するボタンの基本クラスを作成しています。
私はリフレクターを使用して ButtonBase を調べ、重要なものを見落とさないようにしています。WndProc メソッドの内容に困惑しています。
ボタンアップ、クリック、キャプチャの変更などのチェックがあり、私が知る限り、これらはすべてクラスの関連する 'On' メソッド内で処理されます。
なぜ彼らがそこにいるのか誰か知っていますか?
これは、ネイティブのWindowsボタンコントロールのラッパーでもあります。一言で言えば:
ネイティブボタンをラップしたり、所有者が描画したりする必要がないため、これについて心配する必要はありません。EnterキーとEscapeキーが押され、フォームのAccept / CancelButtonとして選択されたときにボタンが正しく動作するように、IButtonControlを実装していることを確認してください。厳密には必要ありませんが、ControlではなくButtonBaseから継承すると自動的に行われます。