Определите, является ли программа активным окном в .NET

У меня есть приложение на C # / .NET, и я хочу реализовать следующее поведение:

У меня есть всплывающее меню. Всякий раз, когда пользователь нажимает на что-нибудьв приложение, котороене всплывающее меню, я хочу закрыть всплывающее меню.

Однако, когда пользователя нет в приложении, я не хочу, чтобы что-то происходило.

Я пытаюсь управлять этим с помощью события LostFocus, но у меня возникают проблемы с определением, является ли мое приложение активным окном. Код выглядит примерно так.

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

Что мне нужно знать, это как реализовать метод InActiveWindow ().

Ответы на вопрос(3)

Ваш ответ на вопрос