『QQ:1353814576』

C#实现控制多个屏幕的一些常见应用显示位置操作简单demo示例


在某些情况下需要控制多个屏幕,比如在开发视频播放器、会议系统或者学术研究方面。那么,如何使用 C# 来控制多个屏幕呢?

C#实现控制多个屏幕的一些常见操作简单demo示例

首先 获取所有屏幕

第一步是获取所有的屏幕信息。我们可以使用 C# 自带的 Screen 类来获取系统中所有的屏幕信息。以下是代码示例:

Screen[] screens = Screen.AllScreens;

执行这段代码会返回一个 Screen 数组,包含系统中所有的屏幕。其中,第一个屏幕的索引为 0,后续的则按照位置顺序排列。

控制多个屏幕

一旦获取了所有屏幕的信息,我们就可以对程序进行简单显示位置进行控制。以下是一些常见的多屏控制操作:

2.1 显示屏的数量

我们可以使用 screens.Length 属性获取系统中显示屏的数量。

int screenCount = screens.Length;

2.2 显示屏的分辨率

我们可以使用 Screen 类的 Bounds 属性获取屏幕的分辨率。Bounds 属性返回的是一个 Rectangle 对象,其中包含了屏幕的位置和大小信息。以下是代码示例:

foreach (Screen screen in screens)
{
    Rectangle rect = screen.Bounds;
    int width = rect.Width;
    int height = rect.Height;
}

2.3 显示屏的位置

我们还可以使用 Screen 类的 WorkingArea 属性获取屏幕的工作区域,也就是除去任务栏和其他桌面应用程序之外的区域。以下是代码示例:

foreach (Screen screen in screens)
{
    Rectangle rect = screen.WorkingArea;
    int left = rect.Left;
    int top = rect.Top;
}

2.4 在指定屏幕上显示应用程序

我们可以使用 Screen 类的 Primary 属性来判断当前屏幕是否为主屏幕。如果不是,我们就可以在另一个屏幕上打开应用程序。以下是代码示例:

if (!Screen.PrimaryScreen.Equals(screen))
{
    form.StartPosition = FormStartPosition.Manual;
    form.Location = new Point(screen.Bounds.Left, screen.Bounds.Top);
}
form.Show();

这段代码首先判断当前屏幕是否为主屏幕,如果不是,就调整应用程序的起始位置,让它在另一个屏幕上显示。