這應該是一個非常簡單的問題,但經過大量搜索後,似乎沒有任何工作示例。 我只想讓我的XNA窗口從最大化開始。 我知道如何設置窗口的寬度和高度,但這不完全相同。 我也需要這樣做,而不是全屏。我只想要一個正常的最大化窗口。如何在XNA中最大化窗口
2
A
回答
4
@Cyral迄今爲止答案最接近,但它仍然不是你想要的。要最大化Windows窗體,請使用WindowState屬性:
var form = (Form)Form.FromHandle(Window.Handle);
form.WindowState = FormWindowState.Maximized;
5
將圖形設備管理器的IsFullScreen
屬性設置爲true。
http://msdn.microsoft.com/en-us/library/bb195024(v=xnagamestudio.10).aspx
//from the above msdn sample
graphics = new GraphicsDeviceManager(this);
content = new ContentManager(Services);
graphics.PreferredBackBufferWidth = 800;
graphics.PreferredBackBufferHeight = 600;
graphics.PreferMultiSampling = false;
graphics.IsFullScreen = true;
0
_graphics = new GraphicsDeviceManager(this);
DisplayMode displayMode = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode;
this._graphics.PreferredBackBufferFormat = displayMode.Format;
this._graphics.PreferredBackBufferWidth = (int)(displayMode.Width);
this._graphics.PreferredBackBufferHeight = (int)(displayMode.Height);
排序的對我的作品,但不大,你會明白,一旦你嘗試。我的意思是,這不是完美的,我相信有更好的方法,但對於原型設計這應該工作 - 或者也許有一些調整,你可以得到你需要的。
2
可以base.Initialize後
添加到System.Windows.Forms的和System.Drawing中的引用(但是,您將需要鍵入命名空間了,因爲含糊不清的)使用下面的代碼
Form form = (Form)Form.FromHandle(Window.Handle);
form.Location = Point(0, 0);
form.Size = Screen.PrimaryScreen.WorkingArea.Size;
0
您應該使用asawyer建議的方法。至少它在這裏推薦的方法:
http://msdn.microsoft.com/en-US/library/bb195024(v=xnagamestudio.10).aspx
0
其他已覆蓋自動最大化的步驟,而是讓實際的最大化按鈕,以便在需要的時候,用戶可以做到這一點,在遊戲中構造做到這一點:
Window.AllowUserResizing = true;
根據您希望遊戲在調整大小開始和結束時的行爲方式,也許暫停遊戲,您可能需要處理其中一些事件。
Form form = (Form)Form.FromHandle(Window.Handle);
form.ResizeBegin += new EventHandler(form_ResizeBegin);
form.ResizeEnd += new EventHandler(form_ResizeEnd);
form.LocationChanged += new EventHandler(form_LocationChanged);
相關問題
- 1. 如何在最小化窗口後最大化窗口
- 2. 如何最大化窗口?
- 3. 如何最大化窗口?
- 4. 窗口最大化最大化
- 5. 如何開始Pygame窗口最大化?
- 6. 如何最大化Windows移動窗口?
- 7. 在Chrome中最大化彈出窗口
- 8. 在javascript中最大化當前窗口
- 9. 窗口最小化和最大化
- 10. 禁用窗口最大化/最小化
- 11. WPF窗口最大化
- 12. Caliburn.Micro最大化Silverlight窗口
- 13. JFrame最大化窗口
- 14. PHP Webdriver - 最大化窗口
- 15. 如何讓子窗口最小化和最大化與主窗口
- 16. 如何使用最小化/最大化窗口控件顯示Qt.Tool窗口?
- 17. 獲取最大化最小化窗口的窗口位置
- 18. 當窗口最大化時獲得非最大化的窗口位置/大小
- 19. 如何最小化窗口使窗口應用程序中使用快捷鍵最大化窗口使用C#?
- 20. QT在窗口中最大化窗口小部件
- 21. 如何使用Addon SDK跟蹤窗口最小化/最大化?
- 22. 如何檢測JFrame窗口最小化和最大化事件?
- 23. 獲得在DrawableGameComponent窗口大小在XNA
- 24. 如何最小化窗口?
- 25. 如何檢查窗口是否在Gtk中最大化?
- 26. 如何在python中自動最大化pylab繪圖窗口?
- 27. 如何知道窗口在extjs中是最大化還是最小化?
- 28. 檢測窗口在JavaScript最大化
- 29. WPF最大化窗口比屏幕大
- 30. webdriver如何關注文件上傳窗口當窗口最小化或最大化窗口
這看起來不錯,但是如何訪問XNA中的Form類?如果我嘗試引用它與System.Windows.Form它找不到。如果我嘗試在頂部添加「使用System.Windows」,它也找不到。 – Frobot 2012-08-03 17:07:47
您需要在XNA項目中添加對「System.Windows.Forms.dll」程序集的引用,並且可能還需要'System.Drawing.dll'。 – 2012-08-03 17:13:30
非常感謝我現在正在學習如何添加像這樣的引用,但它現在工作正常。 – Frobot 2012-08-03 18:04:09