Using an interface seems like the right approach, but rather than copying the method bodies to each subclass, I think it makes more sense to create a new class (say CommonButtonStuff) with the common code. Then you can call it in the implemented methods:
CommonButtonInterface
Sub Method1
Class CommonButtonHandler
Sub DoMethod1
MsgBox("Do it!")
End Sub
Class A Inherits From PushButton, Implements CommonButtonInterface
Private Property mCommonStuff As CommonButtonHandler
Sub Constructor
mCommonStuff = New CommonButtonHandler
End Sub
Sub Method1
mCommonStuff.DoMethod1
End Sub
Class B Inherits From BevelButton, Implements CommonButtonInterface
Private Property mCommonStuff As CommonButtonHandler
Sub Constructor
mCommonStuff = New CommonButtonHandler
End Sub
Sub Method1
mCommonStuff.DoMethod1
End Sub