Pergunta

Eu fiz uma busca por perto, mas não consegui encontrar nada semelhante ao que eu estava procurando. Estou interessado em saber como exibir conteúdos diferentes em monitores ou projetores secundários/terciários usando C#. Basicamente, o que estou querendo alcançar é ter alguma forma de visualização do apresentador (um PowerPoint LA) em uma tela específica (a tela principal) e a saída em uma tela ou projetor secundário. Eu realmente nunca tentei desenvolver algo com várias saídas de exibição, portanto, qualquer orientação provavelmente terá que estar em um nível bastante óbvio.

Se alguém pudesse me apontar na direção certa sobre como lidar com esse tipo de coisa em C#, isso seria muito apreciado!

Foi útil?

Solução

Você pode usar o System.Windows.Forms.Screen.AllScreens Propriedade para acessar uma lista de todos os monitores que o Windows conhece. Se você deseja utilizar uma tela que não foi configurada pelo usuário, fica mais difícil - provavelmente precisará inicializar e acessar o adaptador de exibição usando o DirectX.

Outras dicas

Apenas para expandir a resposta de Keven (i +1'd It), a matriz Screen.AllScreens fornece uma matriz de objetos de tela. O objeto de tela possui uma propriedade chamada ISPrimary, que você pode usar para determinar qual é a tela primária e qual é o secundário (DUH) e também possui uma propriedade chamada Workagea, que é um retângulo que devolve todas as coordenadas de a segunda tela. O legal é que, mesmo que digamos que a tela secundária esteja configurada para estar à esquerda do primário, o trabalho de trabalho.x será um número negativo e você poderá colocar formulários lá ou qualquer outra coisa.

Uma das classes principais com as quais você precisa interagir é Tela (Isso está no espaço de nome Winforms). Em geral, todas as telas são tratadas como um conjunto de áreas de trabalho que você pode usar a classe de tela para obter propriedades para cada uma.

Você pode obter todas as telas como esta ...

Screen [] screens = Screen.AllScreens;

Aqui é um pequeno artigo sobre como fazer programação de vários monitores em C#.

Lembre -se também de definir a propriedade 'StartPosition' como 'Manual' na sua janela que você deseja exibir na tela secundária, caso contrário ela sempre será exibida na tela principal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top