天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

使用配置文件(.settings、.config)存儲應(yīng)用程序配置

image 引言

我不知大家早先是如何保存應(yīng)用程序配置,以備下次打開時使用的,反正我開始學(xué).NET的時候就去研究序列化,以二進(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方面的資料不多、不詳,我就以此文來介紹一下基本的用法,讓小鳥們少走我那條破路,老鳥請直接從上空滑翔而過即可。

 

基本使用方法

首先建立一個WinForm項(xiàng)目,設(shè)計這樣一個窗體:

image

通過“添加新項(xiàng)”功能添加一個MyApp.settings:

 image

在打開的數(shù)據(jù)表格中做如下設(shè)置:

image

這樣就設(shè)置好了a、b、c三個不同類型的配置變量,現(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();

}

 

通過上面的代碼就可以在窗體開閉時分別加載、保存配置了。

運(yùn)行抓圖:

image

 

復(fù)雜數(shù)據(jù)類型支持情況

settings支持存儲一些較為復(fù)雜的數(shù)據(jù),比如Color、Size等類型,可以自行選擇:

image

但并不是所有類型都可以支持,比如FileInfo類型就沒有,泛型也沒有,自定義類型更是不受支持的,如果需要存儲這些特殊類型,就得用其他配置方案了。

 

讀寫復(fù)雜數(shù)據(jù)類型

我們以ArrayList類型為例,通過它在原程序的基礎(chǔ)上實(shí)現(xiàn)記錄每次關(guān)閉程序時間的功能。

首先添加一個配置變量d,其類型為System.Collections.ArrayList:

image

在窗體中增加一個ListBoxt,然后修改后臺代碼為:

image

高亮部分為新增的代碼。

多次運(yùn)行以測試:

image

 可以看到每次的程序關(guān)閉時間都被記錄并顯示。

 

“用戶”和“應(yīng)用程序”

你可能注意到數(shù)據(jù)表格中“范圍”這里全是“用戶”:

image

如果改成另外一個選項(xiàng),即“應(yīng)用程序”會怎樣呢?

image

報錯了,我們的配置變量變成只讀的了,所以這里可以簡單地把它們理解為:

用戶=可讀寫

應(yīng)用程序=只讀

應(yīng)用程序”選項(xiàng)應(yīng)當(dāng)是用于設(shè)定一些程序運(yùn)行所必須的重要變量,比如導(dǎo)航網(wǎng)址、數(shù)學(xué)運(yùn)算參數(shù)等,這些配置項(xiàng)如果讓用戶篡改就會出問題了,所以要只讀。

 

數(shù)據(jù)被存在哪里?

你可能會發(fā)現(xiàn)編譯后在Debug目錄中有個“SettingTest.exe.config”,但無論如何操作程序,這個配置文件里始終都是描述的默認(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”這個目錄中找到了配置文件(user.config),這是其描述的配置信息:

image

 

結(jié)語

雖然settings無法實(shí)現(xiàn)對一些復(fù)雜類型及自定義類型的支持,但是在多數(shù)情況下,用它來存儲程序配置已是綽綽有余了,在夠用的前提下,不要重復(fù)造輪子啦。

 

下載示例項(xiàng)目:http://www.uushare.com/user/icesee/file/2017630

下載本文的XPS版本:http://www.uushare.com/user/icesee/file/2017629

NET技術(shù)使用配置文件(.settings、.config)存儲應(yīng)用程序配置,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 天天日免费观看视频一1 | 亚洲精品中文字幕一二三四区 | 日韩精品无码视频一区二区蜜桃 | 极品少妇小泬50PTHEPON | 99久久免费国产精精品 | 强壮的公次次弄得我高潮韩国电影 | 国产99久9在线| 美女一级毛片免费不卡视频 | 毛片在线网址 | 国产在线自天天人人 | hd性欧美俱乐部中文 | 亚洲国产成人精品无码区99 | 两个人的视频日本在线观看完整 | 人妻中文字幕乱人伦在线 | 一级淫片bbbxxx | 最新国产在线视频在线 | 欧美18在线| 一区视频免费观看 | 芭乐视频网页版在线观看 | 欧美GAY猛男GAYA片18禁 | 飘雪在线观看免费完整版 | 脱女学小内内摸出水网站免费 | 799是什么意思网络用语 | 婷婷六月激情综合一区 | 日日夜夜撸 在线影院 | 玩高中女同桌肉色短丝袜脚文 | 湖南电台在线收听 | 久久中文字幕无线观看 | 亚洲精品久久久久AV无码 | 亚洲视频不卡 | 久久黄色小视频 | 国产强奷伦奷片 | 精品午夜视频 | 正在播放黑人杂交派对卧槽 | 国产成人精品免费视频大全可播放的 | 亚洲高清有码中文字 | 欧美精品久久久久性色AV苍井 | 精品无人区麻豆乱码无限制 | 精品亚洲大全 | 亚洲AV无码国产精品色午夜情 | 国产精品久久久精品a级小说 |