title: Most efficient way to draw on the top of the Screen (Overlay layer). in .Net?
body: <p>I want to draw elements and move them on the top of the screen whatever the user is doing. </p>
  
  <p>If I go in C# with Windows Forms I have 2 solutions :</p>
  
  <ol>
  <li><p>Create a transparent-background Form and Draw on it,</p>
  
  <ul>
  <li>override the OnPaint event</li>
  <li>invalidate every X ms </li>
  </ul></li>
  <li><p>Create a transparent-background Form for each element created (Rectangle, Circle, etc.).</p>
  
  <ul>
  <li>just move the forms and do not force redraw</li>
  </ul></li>
  </ol>
  
  <p>Do form gestion is a way more costful or the Paint refresh is ?</p>
  
  <p>Do I have to go with WPF, Silverlight, C or Windows Form is fine ?</p>