如何决定VS2005配置的设置问题和方式
小编给大家分享一下如何决定VS2005配置的设置问题和方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
例如:DateTime userDateTime1 = Properties.Settings.Default.userDateTime1; 真是方便了很多。但是你有没有发现,使用 Properties.Settings.Default.Save() 保存了设置后,Application 范围的设置为什么没有保存成功,User 范围的设置的变化为什么没有体现到 app.config 文件中去呢?
在VS 2005中进行应用程序设置打开 项目属性 » 设置,如下图:
输入名称,选择类型和范围,输入值保存即完成设置。类型:int,string,DateTime等各种数据类型;范围:Application 范围的设置对所有用户都有效;
User 范围的设置对当前用户(当前 Windows 登录的用户)有效,同一个设置每个用户可以有不同的值,而且互不影响。
2. 读取配置文件(读取应用程序设置)
无论是Application 范围的设置,还是User 范围的设置,读取的方法都是一样的。
读取设置 this.appSetting1TextBox.Text = Properties.Settings.Default.appSetting1; this.userSetting1TextBox.Text = Properties.Settings.Default.userSetting1;
保存 User 范围配置文件(保存 User 范围的应用程序设置)
保存 User 范围的设置 Properties.Settings.Default.userSetting1 = this.userSetting1TextBox.Text; Properties.Settings.Default.Save();
VS2005配置文件没有保存在应用程序文件夹下,而是保存在这里:X:\Documents and Settings\Windows登录用户\Local Settings\Application Data。
保存 Application 范围配置文件(保存 Application 范围的应用程序设置) 保存 Application 范围配置文件可没有保存 User 范围配置文件那样简单,直接 Properties.Settings.Default.Save() 是不行的。因为 Application 范围的设置在运行时是“只读”的。这里使用的方法是使用 XmlDocument 来直接保存 config 文件,然后在 Reload 设置。
保存 Applicationi 范围的设置 string configFileName = Application.ExecutablePath + ".config"; System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(configFileName); string configString = @"configuration/applicationSettings/SetConfig.Properties.Settings/setting[@name='appSetting1']/value"; System.Xml.XmlNode configNode = doc.SelectSingleNode(configString); if (configNode != null) { configNode.InnerText = this.appSetting1TextBox.Text; doc.Save(configFileName); // 刷新应用程序设置,这样下次读取时才能读到***的值。 }
顺便说一下:使用 Properties.Settings.Default.Reset() 可以恢复VS2005配置设置的默认值(从 app.config 中恢复)。
以上是“如何决定VS2005配置的设置问题和方式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341