【发布时间】:2017-09-11 14:36:14
【问题描述】:
TypeConverter converter = TypeDescriptor.GetConverter(typeof(Font));
Font font = (Font)converter.ConvertFromString("[Font: Name=Arial, Size=48, Units=3, GdiCharSet=0, GdiVerticalFont=False]");
this.Font = font;
Error => System.ArgumentException: 'Value of 'Size=48, Units=3, GdiCharSet=0, GdiVerticalFont=False]' 对于 'units' 无效。'
【问题讨论】:
-
从documentation 中的示例来看,该字符串的格式似乎不正确,您能否详细说明您是如何使用该格式的?
-
msdn.microsoft.com/en-us/library/… 你的字符串看起来不对
-
请注意
Font.ToString()不会返回适合FontConverter的字符串。使用FontConverter也可以将字体转换为字符串以获取可以转换回来的内容。特别是,您可能想要这个字符串:"Arial; 48pt" -
请注意,这可能取决于文化。因此,请确保您在相同的文化中来回转换它。 (Lasse 示例中的分号是可以在不同文化之间改变的字符)。
标签: c#