2

これは非常に単純な質問である必要がありますが、多くの検索を行った後、どこにも実際の例がないようです。XNA ウィンドウを最大化して開始したいだけです。ウィンドウの幅と高さを設定する方法は知っていますが、まったく同じではありません。また、全画面表示にせずにこれを行う必要があります。通常の最大化されたウィンドウが必要です。

4

5 に答える 5

5

Set the IsFullScreen property of the graphics device manager to 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;

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphicsdevicemanager.isfullscreen(v=xnagamestudio.10).aspx

于 2012-08-02T22:20:18.407 に答える
4

@Cyral はこれまでのところ最も近い答えを持っていますが、それでもまだあなたが望むものではありません。Windows フォームを最大化するには、WindowState プロパティを使用します。

var form = (Form)Form.FromHandle(Window.Handle);
form.WindowState = FormWindowState.Maximized;
于 2012-08-03T15:17:03.190 に答える
2

System.Windows.Forms と System.Drawing への参照を追加できます (ただし, 名前空間を入力する必要があります. あいまいさのため)

base.Initialize の後に次のコードを使用します

Form form = (Form)Form.FromHandle(Window.Handle);
form.Location = Point(0, 0);
form.Size = Screen.PrimaryScreen.WorkingArea.Size;
于 2012-08-03T13:00:13.553 に答える
1

他の人は自動的に最大化するステップをカバーしましたが、実際の最大化ボタンを有効にして、ユーザーが必要なときにそれを実行できるようにするには、Game コンストラクターでこれを行います。

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);
于 2013-09-23T18:29:49.487 に答える
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);

私にとってはうまくいきますが、完全ではありません。試してみると理解できます。つまり、それは完璧ではなく、もっと良い方法があると確信していますが、プロトタイピングではこれでうまくいくはずです。

于 2012-08-03T08:38:37.153 に答える