title: Determine Whether Program is the Active Window in .NET
body: <p>I have a C#/.NET app and I want to implement the following behavior:</p>
  
  <p>I have a popup menu.  Whenever the user clicks on anything <em>within</em> the application that is <em>not</em> the popup menu, I want the popup menu to close.</p>
  
  <p>However, whenever a user is not in the application I don't want anything to happen.</p>
  
  <p>I'm trying to manage this through the LostFocus event, but I'm having trouble determining whether my application is the active window.  The code looks something like this.</p>
  
  <pre><code>    private void Button_LostFocus(object sender, System.EventArgs e)
      {
          if (InActiveWindow()) {
             CloseMenu()
          }
          else {
             // not in active window, do nothing
          }
      }
  </code></pre>
  
  <p>What I need to know is how to implement the InActiveWindow() method.  </p>