0

我正在尝试创建一个组合框并使用系统中所有可用字体的列表填充它。我看了一下这个主题——>用可用字体列表填充组合框,我在 C# 中找到了以下代码:

     List<string> fonts = new List<string>();

        foreach (FontFamily font in System.Drawing.FontFamily.Families) 
         {        
           fonts.Add(font.Name); 
         }

我试图在 C++/CLI 中将其转换为类似的东西:

List<string> fonts = gcnew List<string>();

             foreach (FontFamily font in System::Drawing::FontFamily::Families)
             {
                 fonts->Add(font->Name);
             }

但它没有用。有人可以帮我将 C# 代码转换为 C++/CLI 吗?

4

1 回答 1

0

本站启发,你可以这样写:

list<string>* fonts = new list<string>();
System::Collections::IEnumerator^ myEnum = FontFamily::Families->GetEnumerator();

while (myEnum->MoveNext())
{
    FontFamily^ oneFontFamily = safe_cast<FontFamily^>(myEnum->Current);
    fonts->push_back(oneFontFamily->Name);
}

fonts这是一个指针,C# 中不存在某些东西,请注意!

于 2013-09-02T02:20:18.247 回答