Use Rectangle.Double for more precise location, 
and other minor changes.