The design of a current client project calls for all buttons on all the forms to be graphical with a rollover highlight.  After writing JavaScript in the first ASPX page, I realized I no longer liked doing that in the ASP.net environment.  I wanted my control to emit the script for me.  Especially since some of the button images changed based on server side code and data results.  I threw together this control that inherits from the standard ImageButton, adding a RolloverImageUrl property for the rollover effect.  When that property is set, it will use that image as the rollover image.  Nice, clean, no client code to write.  The zip includes a help file, just because I like playing with NDoc.