2が普通
回りくどくもないし、変な設計でもない
ただしB.button1_Click();って名前が悪い。関数名の付け方をもう少し考えた方がいいと思う