Create custom shape for button

I would like to make a map that shows each state, when hovering over a certain state, the respective shape would change color and some information about it would appear.

Here is a web-based example of something similar kartograph.org/showcase/usa-projection

Using .NET 4.5, C#, and WinForms is it possible to achieve this with a Button and handling mouse events?


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.