У меня есть приложение C#/.NET, и я хочу реализовать следующее поведение:
У меня есть всплывающее меню. Всякий раз, когда пользователь щелкает что-либо внутри приложения, которое не является всплывающим меню, я хочу, чтобы всплывающее меню закрывалось.
Однако всякий раз, когда пользователь не находится в приложении, я не хочу, чтобы что-то происходило.
Я пытаюсь управлять этим с помощью события LostFocus, но у меня возникают проблемы с определением того, является ли мое приложение активным окном. Код выглядит примерно так.
private void Button_LostFocus(object sender, System.EventArgs e)
{
if (InActiveWindow()) {
CloseMenu()
}
else {
// not in active window, do nothing
}
}
Мне нужно знать, как реализовать метод InActiveWindow().