点击配置窗体的尝试连接,如果连接成功就表明用户输入的配置项是正确的,那么就把这些配置项更新保存到App.config,一下是更新保存的代码
//读取配置窗体中用户输入的配置
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文件夹,然后再运行进行更新等操作就正常了。