在.net中检测和稍后更改屏幕分辨率和多个桌面的最佳方法是什么
我有一个小应用程序,虽然在我的多显示器/高(ish)分辨率上运行,但我希望能够检测到用户的主显示器并将应用程序设置为该(主要目标)并调整分辨率以确保该应用程序适合(更多出于我自己的好奇心)
在.net中检测和稍后更改屏幕分辨率和多个桌面的最佳方法是什么
我有一个小应用程序,虽然在我的多显示器/高(ish)分辨率上运行,但我希望能够检测到用户的主显示器并将应用程序设置为该(主要目标)并调整分辨率以确保该应用程序适合(更多出于我自己的好奇心)
我永远不会建议改变用户的分辨率,除非你在做全屏游戏,你可以使用
System.Windows.Forms.Screen.PrimaryScreen
为您提供有关该主监视器的指标。
如果您正在开发基于 WinForms 的应用程序,除了使用 Bob King 描述的 Screen 指标外,您还可以使用布局控件,例如 TableLayout 和 FlowLayout。布局控件允许您设计 UI 以干净地适应屏幕/窗口大小。(我目前正在开发的 WinForms 应用程序在这方面做得非常好,最小为 1024x768,可以随心所欲地缩放控件。)
先发制人的评论:是的,TableLayouts 确实会影响性能。但是,我的经验是,用户在展示好处时往往会接受它。(新显示器:该应用程序看起来仍然很棒并且可以正常工作!)