【发布时间】:2011-01-16 16:59:35
【问题描述】:
我有一个(Windows 窗体)应用程序,它由一个带有“TopMost”属性集的窗口组成。如果应用程序(例如 PowerPoint)暂时进入全屏模式,我的窗口的“TopMost”行为不会恢复(即它将保持隐藏最大化的 PowerPoint 窗口)。有趣的是,这只发生在我的应用程序在另一个应用程序之前启动时——如果另一个应用程序在我的事情按预期工作之前启动。激活窗口(手动单击它)可以恢复所需的行为,但不幸的是,这不是我的解决方案。
我不确定导致此问题的原因,我对修复或解决方法非常感兴趣。
由于这可能是与操作系统相关的问题,我应该指出我使用的是 Windows 7 64 位。
谢谢, 彼得
【问题讨论】:
-
当“暂时进入全屏模式”时,你是指在PowerPoint中播放幻灯片的时候吗?因为显然您希望幻灯片播放全屏。关闭 PowerPoint 后,您的应用程序不会自动按 Z 顺序重新排列。正如您所提到的,单击它会将其带回前面,一切正常。这是预期的行为。
-
当我在全屏 PowerPoint 幻灯片演示文稿中点击 Escape 时,我的窗口隐藏在 PowerPoint 窗口后面(不再是全屏而是最大化)。
-
我认为在系统方面只能有一个“最顶层”表单(或窗口),我敢打赌,powerpoint 在全屏时也会将自己设置为最顶层。
-
看起来这是一个众所周知的问题,并且存在于多个 Windows 版本中:social.answers.microsoft.com/Forums/en-US/w7desktop/thread/…
标签: .net fullscreen z-order topmost