原文地址:http://space.itpub.net/12639172/viewspace-494054

向项目添加app.config文件:

右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。出现在设计器视图中的app.config文件为:

<?xmlversion="1.0"encoding="utf-8" ?><configuration></configuration>

在项目进行编译后,在bin\Debuge文件下,将出现两个配置文件(以本项目为例),一个名为“JxcManagement.EXE.config”,另一个名为“JxcManagement.vshost.exe.config”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件为原代码“app.config”的同步文件,在程序运行中不会发生更改。

connectionStrings配置节:

请注意:如果您的SQL版本为2005 Express版,则默认安装时SQL服务器实例名为localhost\SQLExpress,须更改以下实例中“Data Source=localhost;”一句为“Data Source=localhost\SQLExpress;”,在等于号的两边不要加上空格。

<!--数据库连接串--><connectionStrings><addname="conJxcBook"connectionString="Data Source=localhost;Initial Catalog=jxcbook;User                                   ID=sa;password=********"providerName="System.Data.SqlClient" /></connectionStrings>

appSettings配置节

appSettings配置节为整个程序的配置,如果是对当前用户的配置,请使用userSettings配置节,其格式与以下配置书写要求一样。

<!--进销存管理系统初始化需要的参数--><appSettings><clear /><addkey="userName"value="" /><addkey="password"value="" /><addkey="Department"value="" /><addkey="returnValue"value="" /><addkey="pwdPattern"value="" /><addkey="userPattern"value="" /></appSettings>

读取与更新app.config

对于app.config文件的读写,参照了网络文章:http://www.codeproject.com/csharp/SystemConfiguration.asp标题为“Read/Write App.Config File with .NET 2.0”一文。

请注意:要使用以下的代码访问app.config文件,除添加引用System.Configuration外,还必须在项目添加对System.Configuration.dll的引用。

读取connectionStrings配置节

///<summary>///依据连接串名字connectionName返回数据连接字符串///</summary>///<param name="connectionName"></param>///<returns></returns>private static string GetConnectionStringsConfig(string connectionName){string connectionString =ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();Console.WriteLine(connectionString);return connectionString;}

更新connectionStrings配置节

///<summary>///更新连接字符串///</summary>///<param name="newName">连接字符串名称</param>///<param name="newConString">连接字符串内容</param>///<param name="newProviderName">数据提供程序名称</param>private static void UpdateConnectionStringsConfig(string newName,string newConString,string newProviderName){bool isModified = false;    //记录该连接串是否已经存在//如果要更改的连接串已经存在if (ConfigurationManager.ConnectionStrings[newName] != null){isModified = true;}//新建一个连接字符串实例ConnectionStringSettings mySettings =new ConnectionStringSettings(newName, newConString, newProviderName);// 打开可执行的配置文件*.exe.configConfiguration config =ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);// 如果连接串已存在,首先删除它if (isModified){config.ConnectionStrings.ConnectionStrings.Remove(newName);}// 将新的连接串添加到配置文件中.config.ConnectionStrings.ConnectionStrings.Add(mySettings);// 保存对配置文件所作的更改config.Save(ConfigurationSaveMode.Modified);// 强制重新载入配置文件的ConnectionStrings配置节ConfigurationManager.RefreshSection("ConnectionStrings");}

读取appStrings配置节

///<summary>///返回*.exe.config文件中appSettings配置节的value项///</summary>///<param name="strKey"></param>///<returns></returns>private static string GetAppConfig(string strKey){foreach (string key in ConfigurationManager.AppSettings){if (key == strKey){return ConfigurationManager.AppSettings[strKey];}}return null;}

更新connectionStrings配置节

///<summary>///在*.exe.config文件中appSettings配置节增加一对键、值对///</summary>///<param name="newKey"></param>///<param name="newValue"></param>private static void UpdateAppConfig(string newKey, string newValue){bool isModified = false;   foreach (string key in ConfigurationManager.AppSettings){if(key==newKey){   isModified = true;}}// Open App.Config of executableConfiguration config =ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);// You need to remove the old settings object before you can replace itif (isModified){config.AppSettings.Settings.Remove(newKey);}   // Add an Application Setting.config.AppSettings.Settings.Add(newKey,newValue);  // Save the changes in App.config file.config.Save(ConfigurationSaveMode.Modified);// Force a reload of a changed section.ConfigurationManager.RefreshSection("appSettings");}

转载于:https://www.cnblogs.com/vic_lu/archive/2010/11/02/1867122.html

(转)Windows Form Application 读取并修改App.config文件相关推荐

  1. 读取并修改App.config文件(转载)

    1. 向项目添加app.config文件: 右击项目名称,选择"添加"→"添加新建项",在出现的"添加新项"对话框中,选择"添加应 ...

  2. VS2005(C#)里读取及改变App.config里appSettings节的值

    前几天做了一个C/S的项目,研究了一下App.config,写了一个读取及改变App.config里appSettings节的值的类,贴出来! using System; using System.C ...

  3. C#项目中关于多个程序集下App.config文件的问题

    在项目中我们会经常用到App.config文件,有的是自动生成的,比如引用webservice.wcf服务时生成:也有手动建立的配置文件直接默认名就为app.config. 这些配置有的保存当前程序集 ...

  4. 奥塔在线:C#创建Winform项目时没有App.config文件的原因

    今天创建了一个测试的Winform项目,在进行数据库链接字符串配置时,发现没有App.config文件,一时有点懵逼. 在网上查了下资料,发现是因为创建项目时采用的.Net框架是4.0版本,而App. ...

  5. VS2010 新建C#项目中没有app.config文件,手动添加方法

    1.在解决方案资源管理器中,右键项目名称: 2.在右键菜单中选择"添加" -> "新建项",在弹出的新建项窗口列表中,选择"应用程序配置文件&q ...

  6. C#项目中没有App.config文件,手动添加方法

    在解决方案资源管理器中,右键项目名称,在右键菜单中选择"添加"-"新建项",在弹出的新建项窗口列表中,选择"添加应用程序配置文件"选项,即可 ...

  7. WinForm 修改App.config不起作用(但是调试没有异常)

    修改Bin下的.exe.config文件,就能达到效果了. appconfig的修改,会保留在项目中,似乎不会实时地更改到.exe.config中.. 转载于:https://www.cnblogs. ...

  8. C#对App.config文件或者web.config文件中节点的操作类

    //============================================== //        FileName: ConfigManager //        Descrip ...

  9. WPF 和 windows Form Application的区别

    WPF是数据驱动形的,当多个组件关联同一个数据源是,可以减少代码的修改量. 参考链接: http://lingshaohuprose.blog.163.com/blog/static/16957978 ...

最新文章

  1. 万能 Transformer,你应该知道的一切
  2. 关于“Ambiguous match found”
  3. 让bat异常之后不直接关闭窗口的办法.
  4. 正面迎战英特尔,英伟达要和博世一起卖自动驾驶系统
  5. linux screen 命令详解(后台执行linux命令)
  6. Forefront Security For Exchange的反病毒测试
  7. BaseControl按钮合集
  8. Lucifer的一场暴强围英雄表演
  9. 如何创建一个标准的Windows服务
  10. JAVA String类特点
  11. 【异常】Unable to instantiate SparkSession with Hive support because Hive classes a
  12. XNA or Silverlight for Windows Phone 7 game
  13. Angular 快速入门
  14. varchar,char,varchar2,mybatis查询无返回
  15. 在页面中直接设计TreeView的节点而不使用Web.Sitemap文件在运行时出错信息
  16. MyEclipse使用总结——在MyEclipse中新建Maven框架的web项目[转]
  17. 第十一周助教心得体会
  18. centos7安装polygraph
  19. 防SQL注入的五种方法
  20. pytorch 语⾔模型数据集(周杰伦专辑歌词)数据集 免费

热门文章

  1. Unity3D基础12:碰撞体
  2. bzoj 1009: [HNOI2008]GT考试(dp+kmp+矩阵快速幂)
  3. 图像仿射变换之图像旋转 python
  4. css系列教程1-选择器全解
  5. 磁盘I/O高居不下,通过什么来查看占用I/O的进程?
  6. python基础入门第0天
  7. 【CCPC-Wannafly Winter Camp Day4 (Div1) A】夺宝奇兵(水题)
  8. js中arguments的用法
  9. 图像处理PILLOW的使用
  10. mysql 与 mycat集成读写分离