title: Check if a winform application lost focus to a different application
body: <p>I have an application with many child forms, and when I switch to a different application,
  Some of the forms still stay on top (I am using <code>Form.TopMost</code> property). </p>
  
  <p>I was looking for a solution, and I found partial answers here:</p>
  
  <p><a href="https://stackoverflow.com/questions/1576329/how-to-detect-when-an-application-loses-focus">How to detect when an application loses focus?</a></p>
  
  <p><a href="https://stackoverflow.com/questions/13042166/c-sharp-form-activated-and-deactivate-events">C# form Activated and Deactivate events</a></p>
  
  <p>But both didn't work for me.
  the <code>Form.Deactivate</code> event is fired also when the main form loses focus to a child form.
  I want to check if my application lost focus to a <strong>different</strong> application, so I can hide all child forms.</p>
  
  <p>Thanks</p>
  
  <p>Edit:
  I switched Form.TopMost to Show(Owner), Thanks to @Hans Passant.</p>