title: Hide the WinForms cursor 'persistently'?
body: <p>I am developing a full-screen application which contains some animated Forms controls (basically, labels which move).</p>
  
  <p>I want to hide the cursor after a period of inactivity, and I have tried using the method given in this thread: <a href="https://stackoverflow.com/questions/744980/hide-mouse-cursor-after-an-idle-time">Hide mouse cursor after an idle time</a></p>
  
  <p>While this works in a sense, the Forms timer does not even begin counting until the form has no more updates (useless for my needs). Additionally, once the cursor is hidden, it is re-shown when a control is moved (i.e one of the labels is animated).</p>
  
  <p>What I need is for Windows to ignore whatever is going on with the display itself, and just obey my 'Cursor.Hide()' and 'Cursor.Show()' calls. I tried using a normal Threading Timer, but this didn't work at all - the cursor didn't even hide.</p>
  
  <p>So I guess what I'm asking for is a way to hide the cursor whilst allowing animations to take place without re-showing the cursor.</p>
  
  <p>Any help is much appreciated.
  Tom</p>