C# 如何在monogame中设置固定的窗口大小?

C# 如何在monogame中设置固定的窗口大小?,c#,windows-8,fullscreen,monogame,C#,Windows 8,Fullscreen,Monogame,我正在制作一个简单的游戏作为最终项目展示。它将在窗口中显示一个.bmp框架,我不打算在游戏运行时调整窗口大小,所以我想调整窗口的大小。问题是,当我在VisualStudio2012中运行通过选择monogame游戏创建的项目时,它以全屏模式启动。我尝试用以下代码修复它: _graphics.IsFullScreen = false; _graphics.PreferredBackBufferWidth = 640; _graphics.PreferredBackBufferHeight = 48

我正在制作一个简单的游戏作为最终项目展示。它将在窗口中显示一个.bmp框架,我不打算在游戏运行时调整窗口大小,所以我想调整窗口的大小。问题是,当我在VisualStudio2012中运行通过选择monogame游戏创建的项目时,它以全屏模式启动。我尝试用以下代码修复它:

_graphics.IsFullScreen = false;
_graphics.PreferredBackBufferWidth = 640;
_graphics.PreferredBackBufferHeight = 480;
_graphics.Applychanges();

我把它放在主游戏类的构造函数和初始化函数中,但它什么也不做。我使用的是Monogame3.0。

试着把它放在Initialize方法而不是构造函数中

我们应该这样做:

protected override void Initialize()
{
    _graphics.IsFullScreen = false;
    _graphics.PreferredBackBufferWidth = 640;
    _graphics.PreferredBackBufferHeight = 480;
    _graphics.Applychanges();

    base.Initialize();
}

这似乎是MonoGame中的一个bug。我相当肯定你发布的代码应该有效。我发现了这个讨论,它似乎是一个肮脏的解决方法,您可以在上面的代码之前调用_graphics.CreateDevice()。感谢您的帮助,我仍然无法设置固定窗口,但现在全屏模式的分辨率已更改,这是在visual studio 2012中。我在VisualStudio2010中测试了相同的代码,它运行得非常好。我是monogame新手,也是编程方面的新手,所以我不知道到底发生了什么,这次我将坚持使用VS2010。