保持全屏 XNA 游戏位于顶部



我有一个全屏xna游戏,如果可用,应该在辅助屏幕上运行。在辅助屏幕上将其进入全屏模式都可以正常工作。但是,当我将窗口聚焦在主屏幕上时,辅助屏幕上的全屏应用程序会取消聚焦。AlwaysOnTop在这里不是一个选项,因为这不是一个表单,而是一个全屏应用程序。我将如何解决这个问题?

我认为全屏通常只有在有焦点的情况下才能工作。您始终可以将应用程序设置为与监视器大小相当的无边框窗口。所以它仍然是"全屏",而不必对焦。我不久前写了一些代码来做到这一点,这真的不难做到,让我看看我是否能找到它。

        WindowPoint = Window.Position;
        WindowPoint.X = System.Windows.Forms.Screen.AllScreens[0].WorkingArea.Location.X;
        WindowPoint.Y = System.Windows.Forms.Screen.AllScreens[0].WorkingArea.Location.Y;
        Window.Position = WindowPoint;
        Window.IsBorderless = true;
        graphics.PreferredBackBufferWidth = System.Windows.Forms.Screen.AllScreens[0].WorkingArea.Width;
        graphics.PreferredBackBufferHeight = System.Windows.Forms.Screen.AllScreens[0].WorkingArea.Height;
        graphics.IsFullScreen = false;           
        graphics.ApplyChanges();

我相信有更好的方法来做到这一点。我仍在学习自己,但这可以完成工作。在我的电脑上,AllScreens[0]是第二台显示器,[1]是主显示器。让我知道这是否有帮助。祝你好运:)

最新更新