2014-12-05 168 views
2

如何在XNA/Monogame中獲得顯示分辨率? 我想這些我的顯示器(1600×900)上:如何獲得顯示分辨率(屏幕尺寸)?

下面給我800,600

//1. 
GraphicsDevice.DisplayMode.Width 
GraphicsDevice.DisplayMode.Height 

//2. 
GraphicsDeviceManager graphics = new GraphicsDeviceManager(this); 
graphics.GraphicsDevice.DisplayMode.Width 
graphics.GraphicsDevice.DisplayMode.Height 

//3. 
GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width 
GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height 

//4. 
foreach (DisplayMode dm in GraphicsAdapter.DefaultAdapter.SupportedDisplayModes) 
{ 
    Console.WriteLine(dm.Width); 
    Console.WriteLine(dm.Height); 
} 
+0

我已編輯您的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2014-12-05 11:46:16

+0

@JohnSaunders你是對的,我的壞 – dimitris93 2014-12-05 11:48:13

回答

5
_ScreenWidth = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width; 
_ScreenHeight = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height; 

額外參考:System.Drawing,System.Windows.Forms

0

如果在全屏幕應用程序啓動,這可能工作:

Vector2 resolution = new Vector2(GraphicsDevice.Viewport.Width,GraphicsDevice.Viewport.Height); 
+0

你不能在全屏幕啓動它,如果你不能在第一個地方計算屏幕大小,我回答我自己的問題btw – dimitris93 2014-12-05 14:24:29

+0

不錯,你也可以試試這個:http:// msdn .microsoft.com/en-us/library/bb195024.aspx – ViNi 2014-12-05 14:34:18

+0

'this.graphics.IsFullScreen = true;'這實際上不起作用,有人說它的xbox只是 – dimitris93 2014-12-05 14:48:40