2010-05-17 40 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雖然第一。