在C# WinForm中,要识别应用程序显示在哪个监视器上,可以使用Screen
类。Screen
类提供了一些方法和属性,可以帮助您获取屏幕信息和监视器信息。
以下是一个示例代码,演示如何在C# WinForm中获取应用程序显示在哪个监视器上:
using System;
using System.Windows.Forms;
namespace GetMonitorInfo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 获取当前屏幕
Screen currentScreen = Screen.FromControl(this);
// 获取当前屏幕的名称
string screenName = currentScreen.DeviceName;
// 获取当前屏幕的分辨率
int screenWidth = currentScreen.Bounds.Width;
int screenHeight = currentScreen.Bounds.Height;
// 获取当前屏幕的工作区域
Rectangle workingArea = currentScreen.WorkingArea;
// 输出屏幕信息
MessageBox.Show($"当前屏幕名称:{screenName}\n分辨率:{screenWidth}x{screenHeight}\n工作区域:{workingArea}");
}
}
}
在上面的示例代码中,我们使用了Screen.FromControl
方法来获取当前窗体所在的屏幕。然后,我们使用DeviceName
属性获取屏幕的名称,使用Bounds
属性获取屏幕的分辨率,使用WorkingArea
属性获取屏幕的工作区域。最后,我们将获取到的屏幕信息显示在一个消息框中。
需要注意的是,如果您的应用程序跨越多个监视器,那么需要使用Screen.AllScreens
属性来获取所有监视器的信息,并根据窗体的位置来确定窗体显示在哪个监视器上。
云+社区技术沙龙[第17期]
云+社区沙龙online
企业创新在线学堂
云+社区技术沙龙[第16期]
云+社区技术沙龙[第11期]
云+社区开发者大会 长沙站
"中小企业”在线学堂
云+社区技术沙龙[第21期]
云+未来峰会
领取专属 10元无门槛券
手把手带您无忧上云