获取并设置屏幕分辨率

如何使用Visual C#收集和更改屏幕分辨率?

为了检索屏幕分辨率,你将要使用System.Windows.Forms.Screen类。 Screen.AllScreens属性可用于访问系统上所有显示的集合,也可以使用Screen.PrimaryScreen属性访问主显示。

Screen类有一个名为Bounds的属性,您可以使用它来确定当前类的实例的分辨率。 例如,要确定当前屏幕的分辨率:

 Rectangle resolution = Screen.PrimaryScreen.Bounds; 

为了改变分辨率,事情变得更复杂一些。 本文 (或本文 )提供了详细的实现和解释。 希望这可以帮助。

在C#中这是如何获得分辨率屏幕:

button点击或表单加载:

 string screenWidth = Screen.PrimaryScreen.Bounds.Width.ToString(); string screenHeight = Screen.PrimaryScreen.Bounds.Height.ToString(); Label1.Text = ("Resolution: " + screenWidth + "x" + screenHeight); 

这段代码将在WPF中完美工作。 您可以在页面加载或button点击中使用它。

  string screenWidth =System.Windows.SystemParameters.PrimaryScreenWidth.ToString(); string screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight.ToString(); txtResolution.Text ="Resolution : "+screenWidth + " X " + screenHeight; 

在Winforms中,有一个Screen类可以用来获取有关连接到计算机的所有显示器的屏幕尺寸和颜色深度的数据。 这里是文档页面: http : //msdn.microsoft.com/en-us/library/system.windows.forms.screen.aspx

改变屏幕分辨率是棘手的。 有一个解决scheme的第三方类包装本地代码,否则将钩入。 使用CResolution嵌套类将屏幕分辨率设置为新的高度和宽度; 但要明白,这样做只适用于显示器实际支持的高度/宽度组合(800×600,1024×768等,而不是817×435)。

如果您想要收集屏幕分辨率,您可以在WPF窗口中运行以下代码(窗口就是this参考的内容):

 System.Windows.Media.Matrix m = PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice; Double dpiX = m.M11 * 96; Double dpiY = m.M22 * 96;