2017-05-07 10 views
0

拡張デスクトップを使用せずにセカンダリモニタのフルスクリーンにwinforms C#アプリケーションを表示しようとしています。例えばセカンダリモニタに表示出力を強制するだけです。とにかくこれを達成することができますか?私はそれを行う方法を見つけることができないようです。ご協力ありがとうございました!C#Winformアプリケーションのディスプレイはセカンダリモニタのみ

UPDATE:拡張デスクトップで2番目または選択したディスプレイでモニタを取得するために使用する現在のメソッドのコードを次に示します。しかし、目標は拡張デスクトップ構成を使用する必要はありません。

private void show0nMonitor(int showOnMonitor) 
{ 
    Screen[] sc; 
    sc = Screen.AllScreens; 
    if (showOnMonitor >= sc.Length) 
    { 
     MessageBox.Show("Monitor Not Found. Defaulting to Monitor 1", 
     "Error", 
     MessageBoxButtons.OK, 
     MessageBoxIcon.Error, 
     MessageBoxDefaultButton.Button1); 
     showOnMonitor = 0; 
    } 

    this.StartPosition = FormStartPosition.Manual; 
    this.Location = new Point(sc[showOnMonitor].Bounds.Left,sc[showOnMonitor].Bounds.Top); 
    this.WindowState = FormWindowState.Normal; 
    this.WindowState = FormWindowState.Maximized; 
} 

UPDATE 2:

第二の出力でアプリを表示するには、DirectXのようなものを使ってアプリをレンダリングすることは可能でしょうか? IDXGIoutput 2をシステム上で使用する下記の画像リンクを使用していますか? C++とDirectXは私のスキルを超えています。

IDXGIoutput image MSFT

答えて

0

は多分愚かなコードがありますが、我々は自分の送信したコードを使用しますが、この試すことができない需要に基づいているようだ:応答を

Screen[] sc; 
sc = Screen.AllScreens; 
this.StartPosition = FormStartPosition.Manual; 
this.Location = new Point(sc[sc.Length-1].Bounds.Right - sc[sc.Length-1].Bounds.Width, sc[sc.Length-1].Bounds.Top); 
this.WindowState = FormWindowState.Normal; 
this.Size = sc[sc.Length - 1].Bounds.Size; 
+0

感謝を!、私はこのコードと、まだアプリを試してみました拡張モードがオフになっている場合は表示されませんが、これが目標です。 – Jones

+0

「拡張モード」とは – Fabi

+0

Windowsの2台のディスプレイにデスクトップを拡張したときです。 http://www.windowscentral.com/how-connect-and-set-multiple-monitors-windows-10#switch – Jones

関連する問題