C#如何保存运行时字体设置

时间:2009-01-19 14:08:18

标签: c#

我允许用户能够为列表视图做出自己的字体选择。您认为最好的方法是什么?我应该将它保存到注册表还是应用程序文件夹中的文件,以及应该保存哪些属性以确保在重新启动应用程序时正确地重新显示该字体?

感谢您的建议。

编辑:

感谢您的所有答案。回答您的一个问题 - 该机器不会用于多个用户。

我应该保存什么才能重新创建设置。

如果我将它保存到分隔的字符串,字体类可以解析这个吗?        “Microsoft Sans Serif,8.25pt,style = Bold”

3 个答案:

答案 0 :(得分:13)

关于保存应用程序设置的位置/方式,请参阅this answer

您可以将字体保存为字符串,稍后使用以下代码加载:

Font font1 = new Font("Arial", 12, FontStyle.Italic);
TypeConverter converter = TypeDescriptor.GetConverter(typeof(Font));
// Saving Font object as a string
string fontString = converter.ConvertToString(font1);
// Load an instance of Font from a string
Font font = (Font)converter.ConvertFromString(fontString);

答案 1 :(得分:0)

您也可以使用isolated storage

实际上,您需要知道应用程序是否在同一台计算机上的用户配置文件之间共享。如果没有,您可以将其存储在配置文件中。如果是,则可以使用注册表(可维护)或隔离存储(安全)。

编辑: 上次更新后,您可以在app config中保存键入的值。例如,如果我想保存颜色,我可以将值保存为System.Color类型,运行时将为我解析它。请查看this article以获取更多信息和示例。

答案 2 :(得分:0)

您应该使用配置文件(最可能是用户设置部分)...但最好避免将内容保存到应用程序文件夹中...除非您的意思是Application Data文件夹。