2011-12-28 14 views
1

有沒有什麼辦法可以獲得安裝的字體作爲列表(或數組,但我更喜歡列表)。獲取安裝的字體作爲列表

所以像一個將所有安裝的字體列表的方法。 我迄今創造了這個

List<string> fonts = new List<string>(); 
fonts.AddRange() //I don't know what to put in those brackets to obtain fonts. 

任何想法,或者有人可以提供一個更好的辦法? 謝謝。

+6

也許有點前問谷歌搜索? http://msdn.microsoft.com/en-us/library/0yf5t4e8.aspx – ken2k 2011-12-28 15:36:13

+0

這將返回一個數組,我需要一個列表。 – 2011-12-28 15:37:38

+6

然後谷歌另一次:http://stackoverflow.com/questions/1603170/conversion-of-system-array-to-list – ken2k 2011-12-28 15:40:28

回答

17

你想要的InstalledFontCollection類:

using System.Drawing.Text; 
using (InstalledFontCollection fontsCollection = new InstalledFontCollection()) 
{ 
    FontFamily[] fontFamilies = fontsCollection.Families; 
    List<string> fonts = new List<string>(); 
    foreach (FontFamily font in fontFamilies) 
    { 
     fonts.Add(font.Source); 
    } 
}