Domanda

Ho avuto un po 'di una ricerca in giro, ma non ho trovato nulla di simile a ciò che stavo cercando. Mi interessa sapere come visualizzare contenuti diversi su monitor secondari e / o terziarie o proiettori utilizzando C #. Fondamentalmente, quello che sto voler raggiungere è quello di avere una qualche forma di visualizzazione moderatore (a Powerpoint lá) su uno schermo particolare (il display primario), e l'uscita su uno schermo secondario o un proiettore. Non ho mai cercato di sviluppare qualcosa con uscite video multiple, in modo che qualsiasi guida sarà probabilmente dovrà essere ad un livello abbastanza ovvio.

Se qualcuno mi potrebbe punto nella giusta direzione su come gestire questo genere di cose in C #, che sarebbe molto apprezzato!

È stato utile?

Soluzione

È possibile utilizzare la System.Windows.Forms.Screen.AllScreens proprietà per accedere a un elenco di tutti i monitor di Windows conosce. Se stai cercando di utilizzare un display che non è stato configurato dall'utente, diventa più difficile -. Si sarebbe probabilmente necessario inizializzare e accedere alla scheda video utilizzando DirectX

Altri suggerimenti

Giusto per ampliare la risposta di Keven (ho fatto +1), L'array Screen.AllScreens dà si dispone di una vasta gamma di oggetti Screen. L'oggetto schermo ha una proprietà chiamata IsPrimary, che può essere utilizzato per determinare quale è la schermata principale, e che è il secondario (duh) e ha anche una proprietà chiamata WorkingArea, che è un rettangolo che si restituisce tutte le coordinate di il secondo schermo. La cosa interessante di questo è che, anche se diciamo che lo schermo secondario è configurato per essere sul lato sinistro del primario, il WorkingArea.X sarà un numero negativo, e si può posizionare forme lì o qualsiasi altra cosa.

Una delle classi principali di cui avrete bisogno di interagire con è schermo (questo è nel namespace WinForms). In generale, tutti gli schermi vengono trattati come un insieme di aree che è possibile utilizzare la classe di schermo per ottenere le proprietà per ciascuno di essi di lavoro.

È possibile ottenere tutte le schermate in questo modo ...

Screen [] screens = Screen.AllScreens;

Qui è un breve articolo di fare la programmazione multi-monitor in C #.

Ricorda anche di impostare la proprietà 'StartPosition' a 'Manuale' sul tuo finestra che si desidera visualizzare sullo schermo secondario altrimenti sarà sempre visualizzato sullo schermo principale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top