Frage

Ich habe ein bisschen nachgesehen, konnte aber nichts Ähnliches wie ich gesucht haben. Ich bin daran interessiert zu wissen, wie man unterschiedliche Inhalte für sekundäre/tertiäre Monitore oder Projektoren mit C#zeigt. Grundsätzlich möchte ich eine Form der Moderatoransicht (ein Lá -PowerPoint) auf einem bestimmten Bildschirm (der primären Anzeige) und der Ausgabe auf einem Sekundärbildschirm oder Projektor haben. Ich habe nie wirklich versucht, etwas mit mehreren Displayausgaben zu entwickeln, daher muss jede Anleitung wahrscheinlich auf einem ziemlich offensichtlichen Niveau sein.

Wenn mich jemand in die richtige Richtung verweisen könnte, wie man so etwas in C#umgeht, wäre das sehr geschätzt!

War es hilfreich?

Lösung

Du kannst den ... benutzen System.Windows.Forms.Screen.AllScreens Eigenschaft, um auf eine Liste aller Monitore zuzugreifen, über die Windows weiß. Wenn Sie ein Display verwenden möchten, das vom Benutzer nicht konfiguriert wurde, wird es schwieriger. Sie müssen wahrscheinlich mit DirectX initialisieren und auf den Anzeigeadapter zugreifen.

Andere Tipps

Nur um die Antwort von Keven zu erweitern (i +1'd es), dem Bildschirm.AlleScreens -Array, gibt Ihnen eine Reihe von Bildschirmobjekten. Das Bildschirmobjekt verfügt über eine Eigenschaft namens ISPRIMARY, mit der Sie feststellen können, welches Primärbildschirm der Sekundär (DUH) ist, und es hat auch eine Eigenschaft namens WorkingArea, die ein Rechteck ist, das Ihnen alle Koordinaten von zurückgibt der zweite Bildschirm. Das Coole daran ist, dass auch wenn der Sekundärbildschirm so konfiguriert ist, dass es links von der Primär ist, der WorkingArea.x eine negative Zahl ist und Sie dort oder was auch immer Formulare platzieren können.

Eine der Hauptklassen, mit denen Sie interagieren müssen, ist IS Bildschirm (Dies ist im Winforms -Namespace). Im Allgemeinen werden alle Bildschirme als eine Reihe von Arbeitsbereichen behandelt, in denen Sie die Bildschirmklasse verwenden können, um Eigenschaften für jeden einzelnen zu erhalten.

Sie können alle Bildschirme wie diese bekommen ...

Screen [] screens = Screen.AllScreens;

Hier ist ein kurzer Artikel über das Programmieren von Multi-Monitor-Programmen in C#.

Denken Sie außerdem daran, die Eigenschaft 'Startposition' auf dem Fenster auf "Handbuch" auf dem Sekundärbildschirm anzuzeigen, da sonst immer auf dem Primärbildschirm angezeigt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top