2012-06-29 51 views
0

我改變窗口大小以這種方式:是否可以在XNA遊戲中禁用改變窗口大小的窗口移動?

m_GraphicsDeviceManager.PreferredBackBufferWidth = (int)i_NewSize.X; 
m_GraphicsDeviceManager.PreferredBackBufferHeight = (int)i_NewSize.Y; 
m_GraphicsDeviceManager.ApplyChanges(); 
+1

你是什麼意思禁用窗口移動? –

+0

你是指從左上角座標移動? – Cyral

+0

我的意思是,當我在運行時調用上面的代碼時,不僅窗口大小發生變化,而且窗口移動(它將窗口定位在場景的中心),我想禁用移動。 – Nikita

回答

1

你可以添加到System.Windows.Forms的一個參考,請從窗口句柄Form對象,保存的位置,更改設置,並然後重新定位窗口。

事情是這樣的:

var form = Form.FromHandle(Window.Handle); 
var location = form.Location; 
m_GraphicsDeviceManager.PreferredBackBufferWidth = (int)i_NewSize.X; 
m_GraphicsDeviceManager.PreferredBackBufferHeight = (int)i_NewSize.Y; 
m_GraphicsDeviceManager.ApplyChanges(); 
form.Location = location; 

我沒有測試過這一點,所以不能保證:)

+0

謝謝,它的工作原理 – Nikita