Why don't you get started by studying this CodeProject article which shows you how to build an 'imagemap' control for WinForms: [
^]
You may also get some ideas from this CP article on an ImageMap for ASP.NET: [
^].
Some important choices you'll have to make are:
1. are you going to create
two applications: one for defining the "overlay regions" and their associated data (mouseover data, click data) and their relation to the Image they will appear on; and, the other application being a kind of "playback" facility that uses the pre-defined results of the "creator" application.
2. or, do you want to create
one application that allows you import an Image, create your overlays, add their associated data, and then "use" them in some mode at run-time.
3. your going to have to consider the relationship of the "cost" of drawing (using the Paint Event) compared to the cost of using some kind of "floating objects": if you have to handle resize of the source Image, then the complexity of the code for painting increases greatly.
Sounds like a great challenge, and I'm sure you will learn a lot taking it on :)