Pregunta

He tenido un poco de una búsqueda alrededor, pero no pude encontrar nada parecido a lo que estaba buscando. Estoy interesado en saber cómo mostrar contenidos diferentes en monitores secundarios / terciarios o proyectores usando C #. Básicamente, lo que estoy queriendo lograr es tener algún tipo de vista del moderador (un Powerpoint La) en una pantalla en particular (la pantalla principal), y la salida en una pantalla secundaria o un proyector. Nunca he intentado desarrollar algo con múltiples salidas de pantalla, por lo que cualquier orientación, probablemente tendrá que ser en un nivel bastante obvia.

Si alguien me podría apuntar en la dirección correcta en cuanto a cómo manejar este tipo de cosas en C #, que sería muy apreciada!

¿Fue útil?

Solución

Puede utilizar el System.Windows.Forms.Screen.AllScreens propiedad para acceder a una lista de todos los monitores de Windows conoce. Si usted está buscando para utilizar una pantalla que no ha sido configurado por el usuario, se hace más difícil -. Lo que probablemente necesita para inicializar y acceder al adaptador de pantalla usando DirectX

Otros consejos

Sólo para ampliar la respuesta de Keven (I hecho +1 en esto), la matriz Screen.AllScreens da usted tiene un conjunto de objetos Screen. El objeto de la pantalla tiene una propiedad llamada IsPrimary, que se puede utilizar para determinar cuál es la pantalla principal, y que es la secundaria (duh) y también tiene una propiedad llamada WorkingArea, que es un rectángulo que le devuelve todas las coordenadas de la segunda pantalla. Lo bueno de esto es, que aunque digamos que la pantalla secundaria está configurada para estar a la izquierda de la primaria, la WorkingArea.X será un número negativo, y se puede colocar formas allí o lo que sea.

Una de las principales clases que se necesitan para interactuar con es pantalla (esto es, en el espacio de nombres WinForms). En general todas las pantallas son tratados como un conjunto de áreas que puede utilizar la clase pantalla para obtener las propiedades para cada uno trabajando.

Puede obtener todas las pantallas como este ...

Screen [] screens = Screen.AllScreens;

Aquí es un breve artículo acerca de hacer la programación multi-monitor en C #.

También recuerde que debe establecer la propiedad 'StartPosition' a 'Manual' en su la ventana que desea visualizar en la pantalla secundaria de lo contrario, siempre se mostrará en la pantalla principal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top