C# winForm读取配置文件 App.config

本文介绍了如何在C# WinForm应用中使用App.config文件来存储和读取用户配置,如数据库连接信息。通过Visual Studio添加Application Configuration File,然后使用System.Configuration读取和更新配置。在首次运行时,程序会根据配置启动配置窗体,用户输入正确信息后,更新保存到App.config,确保在运行时即时生效。

WinForm或WPF应用程序有时候需要保存用户的一些配置就要用到配置文件,而微软为我们的应用程序提供了Application Configuration File,就是应用程序配置文件,可以很方便的访问和修改应用程序的配置。此文中我们以Winform的数据库服务器配置为例。

工具:Microsoft Visual Studio 2013  系统:Widows7

方法和步骤如下:

  1. 右键点击你的项目--Add--New Item--选择Application Configuration File,请保持默认名称,否则你的程序读取App.config时得到的值是空的。

    打开App.config,添加应用程序设置的5个键值first_run: 应用程序第一次正常启动
  2. server: 服务器IP
  3. database: 数据库名称

  4. uid: 数据库用户名

  5. pwd: 数据库密码

  6. 数据库服务器配置在程序首次启动时的值都是空的右键点击项中的应用,添加一个引用System.Configuration,然后再你需要访问配置文件的类顶部添加 using System.Configuration 引用

  7. bool isFirstRun = bool.Parse(ConfigurationManager.AppSettings["first_run"]);

    string server = ConfigurationManager.AppSettings["server"];string database = ConfigurationManager.AppSettings["database"];string uid = ConfigurationManager.AppSettings["uid"];string pwd = ConfigurationManager.AppSettings["pwd"];

  8. 创建一个窗体提供用户输入数据库服务器的配置项

  9. //读取配置窗体中用户输入的配置

    string server = txtServer.Text.Trim();string database = txtDatabase.Text.Trim();string uid = txtUid.Text.Trim();string pwd = txtPwd.Text;

    //将用户的输入的配置更新保存到App.config

    Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);cfa.AppSettings.Settings["first_run"].Value = "False";cfa.AppSettings.Settings["server"].Value = server;cfa.AppSettings.Settings["database"].Value = database;cfa.AppSettings.Settings["uid"].Value = uid;cfa.AppSettings.Settings["pwd"].Value = pwd;cfa.Save();ConfigurationManager.RefreshSection("appSettings");

    ConfigurationManager.RefreshSection("appSettings");这一句的代码作用是为了即刻更新并可以使用App.config的新值,否则更新的配置只有等到下次程序启动时才可以使用。

    特别重要:

    按以上的步骤更新App.config时发现更新没效果,为什么呢?因为在程序调试阶段,App.config并不会按我们预想的那样更新。

    所以呢,需要把应用程序的EXE可执行文件和配置文件以及你程序依赖的一些dll等文件复制到另外一个新的文件夹,比如E盘下新建的一个text文件夹,然后再运行进行更新等操作就正常了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值