Question

J'ai eu un peu d'une recherche autour, mais ne pouvait pas trouver quelque chose de semblable à ce que je cherchais. Je suis intéressé à savoir comment afficher des contenus différents sur les moniteurs secondaires / tertiaires ou des projecteurs en utilisant C #. Au fond, ce que je suis désireux d'obtenir est d'avoir une certaine forme de vue du présentateur (un Powerpoint lá) sur un écran particulier (l'écran principal), et la sortie sur un écran secondaire ou d'un projecteur. Je ne l'ai jamais vraiment essayé de développer quelque chose avec plusieurs sorties d'affichage, de sorte que toute orientation devra probablement être à un niveau assez évident.

Si quelqu'un pouvait me pointer dans la bonne direction quant à la façon de gérer ce genre de chose en C #, qui serait grandement appréciée!

Était-ce utile?

La solution

Vous pouvez utiliser la propriété pour accéder System.Windows.Forms.Screen.AllScreens une liste de tous les moniteurs de Windows connaît. Si vous cherchez à utiliser un affichage qui n'a pas été configuré par l'utilisateur, il devient plus difficile -. Vous auriez probablement besoin d'initialiser et accéder à l'adaptateur d'affichage en utilisant DirectX

Autres conseils

Juste pour développer la réponse de Keven (I a attribué +1), le tableau Screen.AllScreens vous donne avez un tableau d'objets d'écran. L'objet de l'écran a une propriété appelée IsPrimary, que vous pouvez utiliser pour déterminer qui est l'écran principal, et qui est le secondaire (duh) et il a également une propriété appelée workingarea, qui est un rectangle qui vous renvoie toutes les coordonnées le second écran. Ce qui est cool à ce sujet est que même si disons que l'écran secondaire est configuré pour être à gauche du primaire, le WorkingArea.X sera un nombre négatif, et vous pouvez placer des formes là ou peu importe.

L'une des principales classes que vous aurez besoin d'interagir avec est l'écran (ce qui est dans l'espace de noms WinForms). En général, tous les écrans sont traités comme un ensemble de zones de travail que vous pouvez utiliser la classe écran pour obtenir des propriétés pour chacun.

Vous pouvez obtenir tous les écrans comme ça ...

Screen [] screens = Screen.AllScreens;

est un court article au sujet de faire la programmation multi-écrans en C #.

Souvenez-vous également de définir la propriété « StartPosition » au « Manuel » sur votre la fenêtre que vous souhaitez afficher sur l'écran secondaire sinon il affiche toujours sur l'écran principal.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top