新聞中心
保存好.settings配置文件,也就實(shí)現(xiàn)了存儲(chǔ)應(yīng)用程序配置,這樣就不用在下次還要配置.settings配置文件。本文不光介紹了.settings配置文件,同時(shí)也講解了一下.config文件,希望對(duì)大家有所幫助。

創(chuàng)新互聯(lián)建站成立于2013年,我們提供高端成都網(wǎng)站建設(shè)、網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、全網(wǎng)營(yíng)銷推廣、小程序開發(fā)、微信公眾號(hào)開發(fā)、seo優(yōu)化排名服務(wù),提供專業(yè)營(yíng)銷思路、內(nèi)容策劃、視覺設(shè)計(jì)、程序開發(fā)來完成項(xiàng)目落地,為成都房屋鑒定企業(yè)提供源源不斷的流量和訂單咨詢。
引言
我不知大家早先是如何保存應(yīng)用程序配置,以備下次打開時(shí)使用的,反正我開始學(xué).NET的時(shí)候就去研究序列化,以二進(jìn)制或XML格式的序列化來保存應(yīng)用程序配置。這樣每次都要建立單獨(dú)的配置類,并書寫讀寫配置代碼,相當(dāng)麻煩。
期間也看了看.config文件的讀寫方式,感覺還是很麻煩,不如自己序列化來的踏實(shí)。
后來才猛然發(fā)現(xiàn)微軟早提供好了settings,用以定義.config文件內(nèi)容,并生成相應(yīng)的強(qiáng)類型類,使用起來極其方便~,感覺就像在火星居住了半輩子突然發(fā)現(xiàn)還有地球這好地方。
鑒于網(wǎng)上settings方面的資料不多、不詳,我就以此文來介紹一下基本的用法,讓小鳥們少走我那條破路,老鳥請(qǐng)直接從上空滑翔而過即可。
基本使用方法
首先建立一個(gè)WinForm項(xiàng)目,設(shè)計(jì)這樣一個(gè)窗體:
通過“添加新項(xiàng)”功能添加一個(gè)MyApp.settings:
在打開的數(shù)據(jù)表格中做如下設(shè)置:
這樣就設(shè)置好了a、b、c三個(gè)不同類型的配置變量,現(xiàn)在就可以在程序中使用它們了:
- private void Form1_Load(object sender, EventArgs e)
- {
- numericUpDown1.Value = MyApp.Default.a;
- textBox1.Text = MyApp.Default.b;
- checkBox1.Checked = MyApp.Default.c;
- }
- private void Form1_FormClosing(object sender, FormClosingEventArgs e)
- {
- MyApp.Default.a = numericUpDown1.Value;
- MyApp.Default.b = textBox1.Text;
- MyApp.Default.c = checkBox1.Checked;
- MyApp.Default.Save();
- }
通過上面的代碼就可以在窗體開閉時(shí)分別加載、保存配置了。
運(yùn)行抓圖:
復(fù)雜數(shù)據(jù)類型支持情況
settings支持存儲(chǔ)一些較為復(fù)雜的數(shù)據(jù),比如Color、Size等類型,可以自行選擇:
但并不是所有類型都可以支持,比如FileInfo類型就沒有,泛型也沒有,自定義類型更是不受支持的,如果需要存儲(chǔ)這些特殊類型,就得用其他配置方案了。
#p#
讀寫復(fù)雜數(shù)據(jù)類型
我們以ArrayList類型為例,通過它在原程序的基礎(chǔ)上實(shí)現(xiàn)記錄每次關(guān)閉程序時(shí)間的功能。
首先添加一個(gè)配置變量d,其類型為System.Collections.ArrayList:
在窗體中增加一個(gè)ListBoxt,然后修改后臺(tái)代碼為:
高亮部分為新增的代碼。
多次運(yùn)行以測(cè)試:
可以看到每次的程序關(guān)閉時(shí)間都被記錄并顯示。
“用戶”和“應(yīng)用程序”
你可能注意到數(shù)據(jù)表格中“范圍”這里全是“用戶”:
如果改成另外一個(gè)選項(xiàng),即“應(yīng)用程序”會(huì)怎樣呢?
報(bào)錯(cuò)了,我們的配置變量變成只讀的了,所以這里可以簡(jiǎn)單地把它們理解為:
用戶=可讀寫
應(yīng)用程序=只讀
“應(yīng)用程序”選項(xiàng)應(yīng)當(dāng)是用于設(shè)定一些程序運(yùn)行所必須的重要變量,比如導(dǎo)航網(wǎng)址、數(shù)學(xué)運(yùn)算參數(shù)等,這些配置項(xiàng)如果讓用戶篡改就會(huì)出問題了,所以要只讀。
數(shù)據(jù)被存在哪里?
你可能會(huì)發(fā)現(xiàn)編譯后在Debug目錄中有個(gè)“SettingTest.exe.config”,但無論如何操作程序,這個(gè)配置文件里始終都是描述的默認(rèn)配置。
其實(shí)數(shù)據(jù)是被存在了“C:\Users\SkyD\AppData\Local\”目錄中(我這是Windows7,XP或以下版本可能不是這里)
我在“C:\Users\SkyD\AppData\Local\SettingTest\SettingTest.vshost.exe_Url_ffofch2tvz5bil2xbhdayqbnqwppy2ce\1.0.0.0”
這個(gè)目錄中找到了配置文件(user.config),這是其描述的配置信息:
結(jié)語
雖然.settings配置文件無法實(shí)現(xiàn)對(duì)一些復(fù)雜類型及自定義類型的支持,但是在多數(shù)情況下,用它來存儲(chǔ)程序配置已是綽綽有余了,在夠用的前提下,不要重復(fù)造輪子啦。
文章題目:利用.settings配置文件存儲(chǔ)應(yīng)用程序配置
分享網(wǎng)址:http://m.fisionsoft.com.cn/article/djjdpoc.html


咨詢
建站咨詢
