题
我有一些搜索,但找不到与我想要的类似的东西。我有兴趣知道如何使用C#在次级/第三级监视器或投影仪上显示不同的内容。基本上,我想要实现的是在一个特定屏幕(主要显示)上具有某种形式的演示者视图(láPowerPoint),并在辅助屏幕或投影仪上具有输出。我从来没有真正尝试过具有多个显示输出的东西,因此任何指导都可能必须处于相当明显的水平。
如果有人可以将我指向如何在C#中处理这种事情的正确方向,那将不胜感激!
解决方案
您可以使用 System.Windows.Forms.Screen.AllScreens
访问所有监视器Windows知道的列表的属性。如果您想利用用户尚未配置的显示,它会变得更加困难 - 您可能需要使用DirectX初始化并访问显示适配器。
其他提示
只是为了扩展Keven的答案(I +1'D IT),屏幕阵列为您提供了一系列屏幕对象。屏幕对象具有称为ISPRIMARY的属性,您可以使用该属性来确定哪个是主要屏幕,哪个是辅助屏幕(duh),它还具有称为WorkingArea的属性,该属性是一个矩形,它可以使您返回所有坐标第二个屏幕。关于这一点的很酷的事情是,即使假设辅助屏幕被配置为主屏幕的左侧,workingarea.x也将是一个负数,您可以在此处或其他任何形式。
另请记住,将要在辅助屏幕上显示的窗口上的窗口设置为“手动”,否则将始终在主屏幕上显示。
不隶属于 StackOverflow