I have the following annoyance: Whenever I start debugging an XNA game, the game window pops up in the center of my screen. Since I have a dual monitor system, I'd like to set the default startup position somewhere my second monitor. But, this should only happen in debug modus.
You need to add a reference to System.Windows.Forms
and System.Drawing
(as pointed out by Steve H) and then do the following somewhere outside the constructor, like in the Initialize
override.
var form = (System.Windows.Forms.Form)System.Windows.Forms.Control.FromHandle(this.Window.Handle);
form.Location = new System.Drawing.Point(0, 0);
The reason we have the whole namespace in the code is to avoid class name collisions(again, as pointed out by Steve H).
To update this question, for MonoGame 3.4 (maybe earlier) you can simply do
this.Window.Position = new Point(x, y);
No need to reflect into OpenTK stuff it seems
In MonoGame: Tutorial: Setting window position in Xna/Monogame
来源:https://stackoverflow.com/questions/9726667/how-can-i-control-where-xna-positions-the-game-window-at-startup