2011-02-07 85 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的增加,字體會變得更大。

相關問題