将字体转换为字符串然后再返回

jay*_*t55 17 c# string fonts colors winforms

我有一个应用程序,我的用户更改不同标签等的字体和字体颜色,他们将其保存到文件,但我需要能够将指定标签的字体转换为要写入文件的字符串,然后当他们打开该文件我的程序将该字符串转换回字体对象.如何才能做到这一点?我还没有发现任何可以显示它的方法.

谢谢

巴尔

Han*_*ant 30

使用System.Drawing.FontConverter类可以很容易地从字体到字符串来回返回.例如:

        var cvt = new FontConverter();
        string s = cvt.ConvertToString(this.Font);
        Font f = cvt.ConvertFromString(s) as Font;
Run Code Online (Sandbox Code Playgroud)

  • 好答案.但是最好使用`ConvertToInvariantString`和`ConvertFromInvariantString`.否则字符串格式在不同国家看起来不同,即."Tahoma,10.5pt`在美国对`Tahoma; 在大多数欧洲国家10,5pt`. (5认同)