As you are trying to start completely from scratch, probably the best way is to observe how the .NET Button class was written in the first place.
The source code for that can be looked on the
.NET Reference Source[
^] site.
Give it a go and if you hit problems come back with a specific question