The attached project demonstrates how the user can manipulate GDI+ drawings as though they were actual objects. It was created in VS 2008 but all the code should be compatible with VS 2005.
The application is supposed to behave, in a very rudimentary way, like the VS WinForms designer. You can click and drag to draw boxes on the form. The boxes will be drawn with an apparent z-order, where newer boxes appear to be in front of older ones. You can right-click on a box and select "Bring to Front" or "Send to Back" to change that z-order. You can also click the button on the tool bar to put the application into drag mode, which allows you to click and drag a box to move it around the form.
For an explanation of the genesis of this code, visit my blog.
Last edited by jmcilhinney; Oct 23rd, 2009 at 07:56 AM.
Reason: Provided some explanation of how to use the app; Added blog link
As also posted in the VB.NET section of this codebank submission, I have made a very much extended version of this sample. It features multiple shapes (easily extensible with your own shapes), drag handles, resizing, and much more