恢复';最顶层';'之后的窗口行为;全屏模式';已结束(.NET)

恢复';最顶层';'之后的窗口行为;全屏模式';已结束(.NET),.net,fullscreen,z-order,topmost,.net,Fullscreen,Z Order,Topmost,我有一个(Windows窗体)应用程序,它由一个具有“最顶层”属性集的窗口组成。如果应用程序(如PowerPoint)临时进入全屏模式,则不会恢复“我的窗口”的“最顶端”行为(即,它将在最大化的PowerPoint窗口中保持隐藏状态)。有趣的是,只有当我的应用程序在另一个应用程序之前启动时,才会发生这种情况——如果另一个应用程序在我的应用程序之前启动,事情就会如预期的那样工作。激活窗口(手动单击)可恢复所需的行为,但不幸的是,这不是我的解决方案 我不确定是什么原因导致了这个问题,我对修复或解决办

我有一个(Windows窗体)应用程序,它由一个具有“最顶层”属性集的窗口组成。如果应用程序(如PowerPoint)临时进入全屏模式,则不会恢复“我的窗口”的“最顶端”行为(即,它将在最大化的PowerPoint窗口中保持隐藏状态)。有趣的是,只有当我的应用程序在另一个应用程序之前启动时,才会发生这种情况——如果另一个应用程序在我的应用程序之前启动,事情就会如预期的那样工作。激活窗口(手动单击)可恢复所需的行为,但不幸的是,这不是我的解决方案

我不确定是什么原因导致了这个问题,我对修复或解决办法非常感兴趣

由于这可能是一个操作系统相关的问题,我应该指出,我使用的是64位Windows 7

谢谢,
Peter

尝试将最顶层的属性设置为:
false

然后返回到:
true

这将覆盖ppts最顶层的属性。

您可以在程序中每隔几秒钟使用
计时器

重复此操作,尝试将最顶层的属性设置为:
false

然后返回到:
true

这将覆盖ppts最顶层的属性。

当“临时进入全屏模式”时,您可以使用
定时器在程序中每隔几秒钟重复一次,您的意思是在PowerPoint中播放幻灯片时?因为很明显,你会希望幻灯片放映全屏播放。关闭PowerPoint后,应用程序不会自动按Z顺序重新排列自身。正如你提到的,点击它会把它带回到前面,一切都正常。这是预期的行为。当我点击escape时,我看到一个全屏PowerPoint幻灯片演示文稿,然后我的窗口隐藏在PowerPoint窗口后面(不再是全屏,而是简单地最大化)。我认为系统上只能有一个“最顶层”表单(或窗口),我打赌powerpoint在全屏显示时也会将自己设置为最顶级。这似乎是一个众所周知的问题,并且在多个windows版本中都存在:当“临时进入全屏模式”时,您是指在powerpoint中播放幻灯片时?因为很明显,你会希望幻灯片放映全屏播放。关闭PowerPoint后,应用程序不会自动按Z顺序重新排列自身。正如你提到的,点击它会把它带回到前面,一切都正常。这是预期的行为。当我点击escape时,我看到一个全屏PowerPoint幻灯片演示文稿,然后我的窗口隐藏在PowerPoint窗口后面(不再是全屏,而是简单地最大化)。我认为系统上只能有一个“最顶层”表单(或窗口),我打赌powerpoint在全屏显示时也会将自己设置为最高级别。这似乎是一个众所周知的问题,并且已经存在于多个windows版本中: