Здравствуйте, Zoldan, Вы писали:
Z>Доброго времени суток!
Z>Есть форма, нужно отследить момент когда эту форму не перекрывают другие окна, т.е когда пользователь ее видит целиком. Что, можно с этим сделать??
Z>Приложение не WPF, обычный C#.
Не особый спец по WinForms, но учитывая, что оно построено поверх Win32 API, схема примерно такая (псевдокодом на Win32 API):
r1 = GetTopWindow()
r2 = GetWindowRect()
rect = IntersectRect(r1, r2) // если rect пуст, то пересечения окон нет
Соответственно, сравнение надо повторить для всех окон, у которых Z-order "ближе" нашего, через EnumWindows(). По реализации — надо лишь найти WinForms-обёртки этих API-функций для шарпа.
P.S. А кейс, когда Ваше приложение открыто через Remote Desktop, и окно этого RD перекрыто каким-то другим местным окном, надеюсь, не рассматриваете?
Спасибо за ответ. Попробую. RDP не имеет значения.