This isn't a complete answer, but might put you on the right path.
WinForms won't let you use the Button
object in this way; WinForms buttons are quite limited in their ability to be customized--WPF would likely lend itself to this, if it's an option.
To do this in WinForms it's likely that you'll need to use GDI and load each state into it's own Graphics object and write your own plumbing for click events and such. While I can't offer a specific example it should be feasible, but it's also likely to be a fair amount of work (especially for things such as transparent parts of the image).
However, if you either look into WPF or into interacting with GDI objects you should be able to make progress.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…