2011-02-07 101 views
2

我想让C#应用程序识别DPI。在Windows API中有一个名为SetProcessDPIAware()的命令,但问题是它只适用于Windows Vista和更高版本的Windows,而不是XP。如何使DPI能够识别控件,按钮和字体,使其无论使用何种Windows版本都能正确显示?Windows XP中的DPI Aware应用程序

+1

什么样的C#应用​​程序?这是Windows窗体? – 2011-02-07 14:39:09

+0

Windows窗体应用程序。 – 2011-02-08 11:31:31

回答

6

打电话SetProcessDPIAware不仅神奇地使DPI知道你的一切;其目的是向Windows声明您的应用已被正确书写为DPI。此外,不推荐使用它。您应该在清单中声明DPI意识。 MSDN上有关于此的整个article

2

查看我的详细答案,了解如何使应用程序响应this StackOverflow question上的DPI设置。

简短版本是您可以将所有表单的AutoScaleMode更改为ScaleMode.Dpi

但最好留在ScaleMode.Font;随着DPI的增加,字体会变得更大。

相关问题