设置路径这样的功能应该怎么实现 比如我想在一个应用程序中提供一个类似“工具”-“选项”这样的界面来让用户设置一个路径,这个路径设置了以后要为该用户保存起来,以后用户每次进行一些操作的时候,就以该路径为默认路径来进行操作。我的问题是,这个路径假设为一个字符串变量 sting path; 那么这个变量应该保存在哪里才能够让用户每次结束程序都不会丢失呢?不要说存数据库啊,那也太麻烦了……希望给出实现的代码,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般存文件里,不知楼主的行不?配置文件,xml都可以啊... 保存: Application.UserAppDataRegistry.SetValue("path", path);读取:try{ path=Application.UserAppDataRegistry.GetValue("path").ToString();}catch(...){//设置缺省路径,或请求用户配置} 保存数据到 xml,config,INI,数据库中都可以Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings.Remove(key); config.AppSettings.Settings.Add(key, value); config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); string configFileName = Application.ExecutablePath + ".config"; System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(configFileName); string configString = @""; System.Xml.XmlNode configNode = doc.SelectSingleNode(configString); if (configNode != null) { configNode.InnerText = ""; doc.Save(configFileName); Properties.Settings.Default.Reload(); } 思路楼上都讲了,给你点写简单xml的代码吧。我这个是对每个xml节点创建一个图像文件字符串。你可以根据自己需要来改进string path = "D:\\test.xml";XmlTextWriter textWriter = new XmlTextWriter(path, System.Text.Encoding.UTF8);//自动缩进textWriter.Formatting = Formatting.Indented;// 开始写过程,调用WriteStartDocument方法textWriter.WriteStartDocument();// 写入注释textWriter.WriteComment("注释");//写根节点textWriter.WriteStartElement("X");//创建节点AtextWriter.WriteStartElement("A");//A的元素textWriter.WriteElementString("A1", "7.jpg");textWriter.WriteElementString("A2", "7.jpg");textWriter.WriteElementString("A3", "Art Flashallery");//A节点结束textWriter.WriteEndElement();//创建节点BtextWriter.WriteStartElement("B");//A的元素textWriter.WriteElementString("B1", "7.jpg");textWriter.WriteElementString("B2", "7.jpg");textWriter.WriteElementString("B3", "Art Flashallery");//A节点结束textWriter.WriteEndElement();//根节点结束textWriter.WriteEndElement();//写文档结束,调用WriteEndDocument方法textWriter.WriteEndDocument();//关闭textWritertextWriter.Close(); .net对配置文件提供了很好的支持,你可以在项目中创建一个App.config文件,然后用.net提供的类去读取和写入配置信息:参考资料:ConfigurationManager 类 速结——c# 字符串截取 C#新建窗体调用主窗体数据内容 求一个sql查询语句 谁能给我一个多线程+Access+处理窗口中进度描述的范例?!!! C#文件传输问题 请教:这个效果如何实现? C# label 高度调整问题 为什么我不执行这一句?麻烦各位帮看一下我的代码。谢谢! 关于开发控件的设计时支持——问题解决,立即给分(在线等待) 为什么在DataGrid中的事件SelectedIndexChanged不响应它的方法?? 如何动态调往Model类中填充值 thread.Start() 卡死
配置文件,xml都可以啊...
Application.UserAppDataRegistry.SetValue("path", path);读取:
try
{
path=Application.UserAppDataRegistry.GetValue("path").ToString();
}
catch(...)
{
//设置缺省路径,或请求用户配置
}
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Remove(key);
config.AppSettings.Settings.Add(key, value);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings"); string configFileName = Application.ExecutablePath + ".config";
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(configFileName);
string configString = @"";
System.Xml.XmlNode configNode = doc.SelectSingleNode(configString);
if (configNode != null)
{
configNode.InnerText = "";
doc.Save(configFileName);
Properties.Settings.Default.Reload();
}
你可以根据自己需要来改进
string path = "D:\\test.xml";
XmlTextWriter textWriter = new XmlTextWriter(path, System.Text.Encoding.UTF8);
//自动缩进
textWriter.Formatting = Formatting.Indented;
// 开始写过程,调用WriteStartDocument方法
textWriter.WriteStartDocument();
// 写入注释
textWriter.WriteComment("注释");
//写根节点
textWriter.WriteStartElement("X");//创建节点A
textWriter.WriteStartElement("A");
//A的元素
textWriter.WriteElementString("A1", "7.jpg");
textWriter.WriteElementString("A2", "7.jpg");
textWriter.WriteElementString("A3", "Art Flashallery");
//A节点结束
textWriter.WriteEndElement();//创建节点B
textWriter.WriteStartElement("B");
//A的元素
textWriter.WriteElementString("B1", "7.jpg");
textWriter.WriteElementString("B2", "7.jpg");
textWriter.WriteElementString("B3", "Art Flashallery");
//A节点结束
textWriter.WriteEndElement();
//根节点结束
textWriter.WriteEndElement();
//写文档结束,调用WriteEndDocument方法
textWriter.WriteEndDocument();
//关闭textWriter
textWriter.Close();
参考资料:
ConfigurationManager 类