У меня есть простое приложение, которое маленькое и должно плавать поверх всех моих других окон. Через несколько часов я замечу, что его больше нет поверх всех других моих окон, и мне было интересно, знает ли кто-нибудь, почему это происходит.
За это время я открывал новые приложения (в основном продукты MS 2010), несколько раз блокировал/разблокировал свой компьютер, нажимал ярлык на рабочем столе и перемещал приложение по экрану (иногда между экранами, так как у меня два монитора).
Мне не удалось воспроизвести поведение по запросу, однако это происходит не реже одного раза в день. Когда он перестает оставаться наверху, он прячется, когда я нажимаю ярлык на рабочем столе, поэтому я думаю, что каким-то образом свойство TopMost
получает значение false.
<Window AllowsTransparency="True"
WindowStyle="None"
Topmost="True"
SizeToContent="WidthAndHeight"
MouseDown="Window_MouseDown"
ShowInTaskbar="False"
Background="Transparent"
SnapsToDevicePixels="True">
Приложение действительно простое... оно просто работает как виртуальные шахматные часы и позволяет мне отслеживать время, потраченное на обработку звонков в службу поддержки, по сравнению с фактической разработкой. Событие MouseDown просто запускает поведение перетаскивания приложения, поскольку для WindowStyle установлено значение None.
Я использую WindowsXP, и приложение было построено на .Net 4.0.