title: Creating a transparent overlay in C#
body: <p>I'm not sure exactly how to start this project, but my requirements are as follows (for the parts that I'm unsure of how to implement):</p>
  
  <ul>
  <li>Holding down the Tab key should display the overlay. Letting go of the tab key should hide the overlay. How would I capture this globally? What's the best way to check that the Tab key is still being held down?</li>
  <li>The overlay should display over all other applications. It does not have to display over a full screened application, but it would be optimal to be able to do so.</li>
  <li>Resolution scaling? Not as important, but it would be nice to have the size of the overlay scale based on the user's monitor resolution.</li>
  </ul>
  
  <p>I haven't started this yet, but which project type would be best for this? I was thinking WPF over WindowsForms since it seems to offer a lot more flexibility in terms of presentation. Any advice on the above points would be greatly appreciated!</p>