我用dialogFont设置了一个窗体中的文本字体,如何保存我当前的设置,使得我关闭程序后再次打开还是上次设置的字体样式?我尝试用注册表的方式保存,可是保存的是字体样式的文本形式如:([Font: Name=宋体, Size=9, Units=3, GdiCharSet=134, GdiVerticalFont=False]),再次打开程序的时候从文本中读出样式似乎很麻烦,而且我不会。有没有其它的方法。如果只能保存为文本的形式,有没有哪位高手帮我写一段代码把字体从文本中读出来。谢谢
调试欢乐多
这样的类型,你说的文本形式其实可以分成多部分吧?一部分一个值就可以,当然,全在一起也可以
网上,MSDN,CSDN上搜吧,一大把,自己抄吧,我不喜欢写这类代码 , 稍瑞
<?xml version="1.0" encoding="utf-8" ?>
<AppData>
<FontInfo>
<FormalName Name="FontName" Value=""/>
<FormalName Name="FontStyle" Value=""/>
............
</FontInfo>
</AppData>你可以根据你的需要创建N多节点读取:
XmlDocument doc = new Document();
doc.Load(filePath);//filePath就是你这个文件的路径
string fontName = (doc.SelectSingleNode("AppData/FontInfo/FormalName[@Name='FontName']") as XmlElement).GetAttribute("Value");
string fontStyle = (doc.SelectSingleNode("AppData/FontInfo/FormalName[@Name='FontStyle']") as XmlElement).GetAttribute("Value");写入文件也比较简单
XmlDocument doc = new Document();
if (File.Exist(filePath))
{
doc.Load(filePath);
}
else
{
doc = CreatDoc(filePath);
}XmlElement FontName = (XmlElement)doc.SelectSingleNode("AppData/FontInfo/FormalName[@Name='FontName']");
FontName.SetAttribute("Name","");
FontName.SetAttribute("Value","");
XmlElement FontStyle = (XmlElement)doc.SelectSingleNode("AppData/FontInfo/FormalName[@Name='FontStyle']");
FontStyle.SetAttribute("Name","");
FontStyle.SetAttribute("Value","");
doc.Save(filePath);
private XmlDocument CreatDoc(stirng path)
{
XmlDocument doc = new XmlDocument();
XmlDeclaration d = doc.CreateXmlDeclaration("1.0","utf-8",null);
doc.AppendChild(d);
XmlNode root = doc.CreateElement("AppData");
XmlNode FontInfo = doc.CreateElement("FontInfo");
XmlElement FontName = doc.CreateElement("FormalName");
FontName.SetAttribute("Name","FontName");
FontName.SetAttribute("Value","");
XmlElement FontStyle = doc.CreateElement("FormalName");
FontStyle.SetAttribute("Name","FontStyle");
FontStyle.SetAttribute("Value","");
FontInfo.AppendChild(FontName);
FontInfo.AppendChild(FontStyle);
root.AppendChild(FontInfo);
doc.AppendChild(root);
doc.Save(path);
}
比如赋值:TextBox1.Text=(里面是下面这段话所代表的字体,要怎么获得这个字体?)[Font: Name=宋体, Size=9, Units=3, GdiCharSet=134, GdiVerticalFont=False]