C# WINFORM程式配置檔案操作方法
阿新 • • 發佈:2018-11-03
C# WINFORM程式配置檔案操作方法
在寫winform程式的時候,我們經常會把配置檔案寫在Settings.settings中,
但是,在這裡我們發現,儲存後,在程式中對這個配置進行修改並不能生效
程式級別的配置呢,我常用儲存在app.config中的appSettings節點中,在程式中配置時,用ConfigurationManager類對其進行操作
class ConfigureAppConfig { //靜態構造,不能例項化 static ConfigureAppConfig() { } /**/ /// <summary> /// 獲取AppSettings配置節中的Key值 /// </summary> /// <param name="keyName">Key's name</param> /// <returns>Key's value</returns> public static string GetAppSettingsKeyValue(string keyName) { return ConfigurationManager.AppSettings.Get(keyName); } /**//// <summary> /// 獲取ConnectionStrings配置節中的值 /// </summary> /// <returns></returns> public static string GetConnectionStringsElementValue() { ConnectionStringSettings settings = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"]; return settings.ConnectionString; } /**//// <summary> /// 儲存節點中ConnectionStrings的子節點配置項的值 /// </summary> /// <param name="elementValue"></param> public static void ConnectionStringsSave(string ConnectionStringsName, string elementValue) { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString = elementValue; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("connectionStrings"); } /**//// <summary> /// 判斷appSettings中是否有此項 /// </summary> private static bool AppSettingsKeyExists(string strKey, Configuration config) { foreach (string str in config.AppSettings.Settings.AllKeys) { if (str == strKey) { return true; } } return false; } /**//// <summary> /// 儲存appSettings中某key的value值 /// </summary> /// <param name="strKey">key's name</param> /// <param name="newValue">value</param> public static void AppSettingsSave(string strKey, string newValue) { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); if (AppSettingsKeyExists(strKey, config)) { config.AppSettings.Settings[strKey].Value = newValue; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); } } }
這是我常用的一個操作app.config檔案的類,方便使用
對了,在操作前,要在app.config檔案中把節點寫好