C#之使用app.config可記錄數據,下次打開可讀取記錄的數據

1、背景

以下圖所示,我經過open..按鍵打開了某個文件,以後我再把app給關閉掉,當再次打開app的時候,在textBox.Text上顯示上一次打開的文件路徑。經過使用app.config能夠保存這個路徑,再次打開app時候再從app.config裏邊讀取出來。
html

2、軟件測試

一、在App.config中添加所要保存的配置信息。以下圖所示:

二、在解決方案資源管理器項目中添加引用後增長System.Configuration。以下圖所示:

三、程序源碼:app

using System.Configuration;

/// 在配置信息中根據指定的鍵獲取值。
        ///
        /// 指定的鍵。
        public static string GetConfigurationValue(string key)
        {
            return ConfigurationManager.AppSettings[key];
        }
        /// 在配置信息中修改指定鍵的值。
        public static string FileName=System.IO.Path.GetFileName(Application.ExecutablePath);           //獲得文件
        public static void SetConfigurationValue(string key, string value)
        {
            Configuration config = ConfigurationManager.OpenExeConfiguration(FileName);
            config.AppSettings.Settings[key].Value = value;
            config.Save(ConfigurationSaveMode.Modified);
            System.Configuration.ConfigurationManager.RefreshSection("appSettings");
        }

四、應用:
我經過按鍵瀏覽打開某個文件以後獲得文件的路徑,使用SetConfigurationValue把文件的路徑值保存在app.config中。測試

private void Openfilebutton_Click(object sender, EventArgs e)
        {
                OpenFileDialog fileEds = new OpenFileDialog();  //定義新的文件打開位置軟件
                fileEds.Filter = "EDS文件|*.eds";               //設置文件後綴過濾
                fileEds.RestoreDirectory = true;
                          
               if (fileEds.ShowDialog() == DialogResult.OK)    //若是有選擇打開文件
                {
                    SetConfigurationValue("folder", fileEds.FileName);  
                }
           
            
        }

每次從新打開APP,使用GetConfigurationValue會去app.config裏邊讀取上次修改的數據,這樣我就能夠在textBox.Text上顯示上一次打開的文件路徑。.net

private void CanOpenDevice_Load(object sender, EventArgs e)
        {
            if(File.Exists(GetConfigurationValue("folder")))
            {
                GloableVar.filepath = GetConfigurationValue("folder");//獲得文件路徑
            }
        }

3、參考文檔

http://blog.sina.com.cn/s/blog_8ae8fed10102w8g6.html
http://blog.csdn.net/celte/article/details/9749389
http://blog.csdn.net/Yujie_Yang/article/details/52298688
http://www.itkeyword.com/doc/9471404982607029x123/winform-c3d

by 羊羊得億
2017-08-03 ShenZhencode

相關文章
相關標籤/搜索