Determine si el programa es la ventana activa en .NET

Tengo una aplicación C # / .NET y quiero implementar el siguiente comportamiento:

Tengo un menú emergente. Cada vez que el usuario hace clic en algodentr la aplicación que esn el menú emergente, quiero que se cierre el menú emergente.

Sin embargo, cuando un usuario no está en la aplicación, no quiero que suceda nada.

Estoy tratando de administrar esto a través del evento LostFocus, pero tengo problemas para determinar si mi aplicación es la ventana activa. El código se parece a esto.

    private void Button_LostFocus(object sender, System.EventArgs e)
    {
        if (InActiveWindow()) {
           CloseMenu()
        }
        else {
           // not in active window, do nothing
        }
    }

o que necesito saber es cómo implementar el método InActiveWindow ().

Respuestas a la pregunta(6)

Su respuesta a la pregunta