title: Draggable text or shapes on an image in C# or VB.NET
body: <p>I'm trying to create a Winforms application using either C# or VB.NET that will allow me to place text or a shape on top of an existing image inside a picturebox and have that text or shape draggable with the mouse.  For example, if I want to place a 90X90 square on the image, I would enter 90 in a 'width' textbox, 90 in a 'height' textbox and click on the image and it would be drawn on top of the existing image.  Then I can position it by moving the mouse where I want it to be exactly.  There could be other steps if required (like clicking a 'insert rectangle' button that starts the process).  I've tried a few ideas like calling a routine that resets the picturebox to it's original image and draws the shape when the 'mouse move' event is raised, but that is obviously too slow.  Should this be done in the paint event of the picturebox, and if so, could someone point me in the right direction of how to do it?  Is this possible, or am I oversimplifying the idea?</p>
  
  <p>Thanks in advance for your help.</p>