2010-05-17 29 views
4

有没有办法从.NET/C#中知道文本大小是否在125%?.NET中的屏幕文本大小

设定来自控制面板\外观和个性化\显示...

+0

你想知道文字大小或DPI吗? (http://blogs.msdn.com/oldnewthing/archive/2004/07/14/182971.aspx)如果您确实需要知道文本大小,您是否需要知道它是否是125%,或者实际大小是什么? – ICR 2010-05-17 13:14:54

回答

3

我haven't试过这个我自己。

在Windows此注册表项预Windows 7中:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows NT \ CURRENTVERSION \ FontDPI:LogPixels

而这一次在Windows 7:
HKEY_CURRENT_USER \控制面板\桌面:LogPixels

所有根据此线程MSDN Forum

下面是一些额外的资源:
Creating a DPI-Aware Application
C# Scaling UserControl content to match users Dpi/Font Size
About DPI issue

+0

我abl使用HKEY_CURRENT_USER \控制面板\桌面\ LogPixels得到正确的值。使用100%时的值为96,使用125%时的值为120。谢谢! – BeardinaSuit 2010-05-23 14:46:37

0

我不知道,但也许你可以得到的DPI设置和检查,如果他们96与否:

using(Graphics g = this.CreateGraphics()) 
{ 
    MessageBox.Show(g.DpiX.ToString() + Environment.NewLine + g.DpiY.ToString()); 
} 

您可能需要调用SetProcessDPIAware虽然第一。