C # Определить, если форма находится в «фоновом режиме» / невидимым (для пользователя) - PullRequest
0 голосов
/ 14 ноября 2018

У нас есть несколько форм, у которых нет рамки / нет панели инструментов (оверлеи)

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

Есть ли для этого Событие, чтобы «оверлей» мог обнаружить изменение видимости и сам закрыться?

Может быть, это можно обработать в событии изменения размера / рисования, где можно отследить «невидимость»?


Фон: типичный «Select-Or-Create-New» UseCase.Нажатие «плюс» показывает крошечную форму создания.В настоящее время это «самый верхний», поэтому пользователю нужно нажать «Escape», чтобы избавиться от него.(В противном случае был бы беспорядок «фоновых наложений», отсюда и вопрос)

Было бы более «удобным», если щелчок по чему-то еще закрывает эту «крошечную форму»:

enter image description here


enter image description here

1 Ответ

0 голосов
/ 14 ноября 2018

Вы можете использовать событие Deactivate в форме:

private void Form1_Deactivate(object sender, EventArgs e)
{
    Visible = false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...