7

Screen.AllScreens无论硬件配置如何,所有显示是否都从 .NET 返回?例如,在单台 PC 上,您可以拥有:

  1. 显卡输出到两个显示器 = 总共 2 个显示器
  2. 显卡各出 1 个显示器 = 总共 2 个显示器,
  3. 显卡各出 2 个显示器 = 6 个显示器,
  4. Eyefinity 卡输出到 6 个显示器(在显示端口上)

在所有这些情况下,如果我使用,我Screen.AllScreens可以单独访问每个显示器吗?

另外,如果我有一张处于扩展模式的卡,这意味着 2 个显示器插入一张卡但它只是一个大桌面(我在工作中使用的)?我还能指定内容显示在一个屏幕上吗?

4

3 回答 3

8

是的,Windows 并不关心屏幕在视频适配器之间的分布方式。它只是为每个屏幕提供自己的坐标,这取决于您在显示小程序中如何排列它们。您可以通过将其位置和大小设置为适合 Screen.Bounds 来让您的窗口显示在特定的窗口上

于 2011-03-07T02:03:40.237 回答
1

扩展桌面不影响屏幕数量。

假设每个显示器有 1 个屏幕应该是安全的。尽管某些硬件可能会报告错误的显示计数,但这种情况非常罕见。在这种情况下,您会在控制面板中注意到您的计数不正确。

于 2011-03-07T02:03:22.663 回答
1

AllScreens属性将列出 Windows 在控制面板中显示的相同监视器。例如,如果您将 Eyefinity 设置为单个大表面 (SLS),它将在列表中显示为单个条目;如果您将其设置为 6 个单独的监视器,它将是列表中的 6 个条目。

于 2011-03-07T02:09:04.243 回答