【问题标题】:Maximize window in XNA 4.0在 XNA 4.0 中最大化窗口
【发布时间】:2013-09-10 10:57:50
【问题描述】:

我目前正在使用以下代码来允许用户调整和最大化窗口:

Window.AllowUserResizing = true; 
Window.ClientSizeChanged += Window_ClientSizeChanged; 

使用Window_ClientSizeChanged 事件处理更改并重新缩放绘制的图像等。

这使我可以根据需要调整窗口大小,还可以使用窗口句柄中的标准按钮将其最大化。我希望能够在窗口处于最大化模式时启动应用程序,但不知道该怎么做。我知道我可以使用graphics.IsFullScreen = true; 以全屏模式显示它,但我希望能够以最大化的窗口模式运行程序。有什么想法吗?

【问题讨论】:

    标签: c# xna xna-4.0 maximize


    【解决方案1】:

    你可以把这段代码放在构造函数中做你想做的事:

    Form form = (Form)Control.FromHandle(Window.Handle);
    form.WindowState = FormWindowState.Maximized;
    

    这要求您在项目中添加对System.Windows.Forms 的引用。

    这确实有缺点,它实际上在启动时设置了两次图形设备。一次以正常方式,然后又一次,因为窗口已调整大小。 (尽管这一切都发生在表单首次显示之前。)

    它的优点是实现起来极其简单。


    我去逛一逛,看看初始化顺序能不能改……

    看起来确实没有简单的方法可以解决这个问题。

    【讨论】:

    • 我已经多次看到这个答案,但无法让它发挥作用。没有意识到我必须在解决方案资源管理器中实际添加一个新参考。我看到的答案说只需将using System.Windows.Forms 添加到主类的顶部。如果您找到双启动的修复程序,请告诉我。谢谢你的帮助。 :)
    • 对于太硬的篮子来说是一个很大的问题。可能涉及大量的 win32 摆弄。
    • 啊可能超出了我的项目范围。也许将来需要研究更大的问题,这可能会导致一些问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 2010-09-23
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多