如何将 FontDialog.Font 属性的结果存储在文本文件中
本文关键字:存储 文本 文件 结果 FontDialog Font 属性 | 更新日期: 2023-09-27 17:57:02
我正在尝试为用户提供一个菜单选项来保存一个文本文件,其中包含他/她选择的字体和文本框内文本颜色的首选项。
这是我正在使用的代码。 MS Visual Studio 2015告诉我
不能将类型"字符串"隐式转换为"系统.绘图.字体"
所以显然我需要另一种类型的变量来转换为System.Drawing.Font
.我什至尝试了字符串,但也没有用。
private void loadPreferencesToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{
System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog2.FileName);
var myFont= sr.ReadLine();
var myColor = sr.ReadLine();
sr.Close();
fontDialog1.Font = myFont;
}
}
Larry,
您没有向我们展示将字体和颜色存储到使用 openFileDialog2 打开的文件中的代码,但该结构很重要。我假设您只是将字体和颜色的ToString保存到文件中。
您的文件可能如下所示:
[字体: 名称=Segoe UI, 大小=8.25, 单位=3, gdiCharSet=0, GdiVerticalFont=False]
彩色[黑色]
您的代码必须解析字符串以将它们转换回字体和颜色。用于解析字体的代码将要求您拆分字符串,读取将用于创建新字体的名称和值。这同样适用于颜色;您必须将读取器中的字符串解析为(在我的示例中)颜色字符串(例如黑色)。
var myFont = new Font(fontName, fontSize);
var myColor = ColorTranslator.FromHtml(colorName);
fontName,fontSize和colorName是您必须创建然后从流中填充的变量。
呵呵,
马克