我已经进行了一些搜索,但找不到与我想要的相似的东西。我很想知道如何使用C#在二级/三级监视器或投影仪上显示不同的内容。基本上,我想要实现的是在一个特定屏幕(主显示器)上具有某种形式的演示者视图(一个幻灯片),以及在二级屏幕或投影仪上的输出。我从来没有真正尝试开发具有多个显示输出的东西,因此任何指导都可能必须处于相当明显的水平。
如果有人能指出我在C#中如何处理这类事情的正确方向,那将非常感激!
答案 0 :(得分:3)
为了扩展Keven的答案(I + 1),Screen.AllScreens数组为您提供了一系列Screen对象。 Screen对象有一个名为IsPrimary的属性,您可以使用它来确定哪个是主屏幕,哪个是辅助(duh),它还有一个名为WorkingArea的属性,它是一个矩形,可以返回所有坐标第二个屏幕。关于这一点很酷的是,即使让我们说二级屏幕配置在主屏幕的左侧,WorkingArea.X也会是一个负数,你可以在那里或其他任何地方放置表格。
答案 1 :(得分:2)
您可以使用System.Windows.Forms.Screen.AllScreens
属性访问Windows知道的所有监视器的列表。如果您希望使用尚未由用户配置的显示器,则会变得更加困难 - 您可能需要使用DirectX初始化并访问显示适配器。
答案 2 :(得分:1)
您需要与之交互的主要类之一是Screen(这是在WinForms命名空间中)。通常,所有屏幕都被视为一组工作区域,您可以使用屏幕类来获取每个屏幕的属性。
你可以得到这样的所有屏幕......
Screen [] screens = Screen.AllScreens;
Here是一篇关于在C#中进行多监视器编程的简短文章。
答案 3 :(得分:0)
还请记住在要显示在辅助屏幕上的窗口上,将属性“ StartPosition”设置为“ Manual”,否则它将始终显示在主屏幕上。