1

我进行了一些搜索,但找不到与我正在寻找的东西相似的东西。我很想知道如何使用 C# 在二级/三级显示器或投影仪上显示不同的内容。基本上,我想要实现的是在一个特定屏幕(主显示器)上具有某种形式的演示者视图(lá Powerpoint),并在辅助屏幕或投影仪上输出。我从来没有真正尝试过开发具有多个显示输出的东西,因此任何指导都可能必须处于相当明显的水平。

如果有人能指出我如何在 C# 中处理这类事情的正确方向,那将不胜感激!

4

4 回答 4

3

只是为了扩展 Keven 的答案(我 +1 了), Screen.AllScreens 数组为您提供了一组 Screen 对象。Screen 对象有一个名为 IsPrimary 的属性,您可以使用它来确定哪个是主屏幕,哪个是辅助屏幕(duh),它还有一个名为 WorkingArea 的属性,它是一个矩形,可以返回所有的坐标第二个屏幕。很酷的一点是,即使我们说辅助屏幕配置在主屏幕的左侧,WorkingArea.X 将是一个负数,您可以在那里放置表单或其他任何东西。

于 2009-05-15T00:51:42.200 回答
2

您可以使用该System.Windows.Forms.Screen.AllScreens属性访问 Windows 知道的所有监视器的列表。如果您希望使用用户尚未配置的显示器,那将变得更加困难——您可能需要使用 DirectX 初始化和访问显示适配器。

于 2009-05-15T00:47:38.963 回答
1

您需要与之交互的主要类之一是Screen(它位于 WinForms 命名空间中)。通常,所有屏幕都被视为一组工作区域,您可以使用屏幕类来获取每个屏幕的属性。

你可以得到所有这样的屏幕......

Screen [] screens = Screen.AllScreens;

是一篇关于在 C# 中进行多监视器编程的简短文章。

于 2009-05-15T00:50:35.337 回答
0

还要记住在要在辅助屏幕上显示的窗口上将属性“StartPosition”设置为“Manual”,否则它将始终显示在主屏幕上。

于 2018-12-02T13:49:01.120 回答