C# - 如何在多个显示器上下文中获取真实的屏幕分辨率

swift屏幕

1个回答

写回答

pffff

2025-07-09 22:37

+ 关注

屏幕
屏幕

在进行多显示器开发时,有时我们需要获取每个显示器的真实屏幕分辨率。在C#中,我们可以使用System.Windows.Forms.Screen类来获取这些信息。本文将介绍如何使用C#在多个显示器上下文中获取真实的屏幕分辨率,并提供相应的案例代码。

首先,我们需要添加System.Windows.Forms命名空间,以便使用Screen类。可以在代码文件的顶部添加以下代码行来实现:

csharp

using System.Windows.Forms;

接下来,我们可以通过调用Screen类的AllScreens属性来获取当前系统中所有显示器的信息。AllScreens属性返回一个Screen数组,其中包含了每个显示器的详细信息。

csharp

Screen[] screens = Screen.AllScreens;

然后,我们可以遍历这个数组,获取每个显示器的屏幕分辨率。每个Screen对象都有一个Bounds属性,该属性返回一个Rectangle对象,其中包含了显示器的位置和大小信息。我们可以通过访问Rectangle对象的Width和Height属性来获取屏幕分辨率。

csharp

foreach (Screen screen in screens)

{

int screenWidth = screen.Bounds.Width;

int screenHeight = screen.Bounds.Height;

Console.WriteLine($"显示器 {screen.DeviceName} 的分辨率为 {screenWidth}x{screenHeight} 像素");

}

上述代码将遍历每个显示器,并将其分辨率打印到控制台。你可以根据实际需求做出相应的修改,比如将分辨率存储到变量中,或者在用户界面中显示。

示例代码:

下面是一个完整的示例代码,演示如何在多个显示器上下文中获取真实的屏幕分辨率,并将其打印到控制台。

csharp

using System;

using System.Windows.Forms;

namespace ScreenResolutionExample

{

class Program

{

static void MAIn(string[] args)

{

Screen[] screens = Screen.AllScreens;

foreach (Screen screen in screens)

{

int screenWidth = screen.Bounds.Width;

int screenHeight = screen.Bounds.Height;

Console.WriteLine($"显示器 {screen.DeviceName} 的分辨率为 {screenWidth}x{screenHeight} 像素");

}

Console.ReadLine();

}

}

}

以上代码将获取所有显示器的分辨率,并将其打印到控制台。你可以根据需要对代码进行修改,以满足特定的业务需求。

通过以上方法,我们可以轻松地在C#中获取多个显示器的真实屏幕分辨率。使用Screen类的Bounds属性,我们可以获得每个显示器的位置和大小信息,并通过访问Rectangle对象的Width和Height属性来获取屏幕分辨率。这对于进行多显示器开发或设计具有响应式界面的应用程序非常有用。

希望本文对你有所帮助,如果你有任何问题或疑问,请随时提出。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号