自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用.settings配置文件存儲(chǔ)應(yīng)用程序配置

開(kāi)發(fā) 后端
這里將介紹一下如何利用.settings配置文件存儲(chǔ)應(yīng)用程序配置,希望通過(guò)斯克迪亞的這篇文章能對(duì)大家的.NET開(kāi)發(fā)之路,有所幫助。

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

引言

我不知大家早先是如何保存應(yīng)用程序配置,以備下次打開(kāi)時(shí)使用的,反正我開(kāi)始學(xué).NET的時(shí)候就去研究序列化,以二進(jìn)制或XML格式的序列化來(lái)保存應(yīng)用程序配置。這樣每次都要建立單獨(dú)的配置類(lèi),并書(shū)寫(xiě)讀寫(xiě)配置代碼,相當(dāng)麻煩。

期間也看了看.config文件的讀寫(xiě)方式,感覺(jué)還是很麻煩,不如自己序列化來(lái)的踏實(shí)。

后來(lái)才猛然發(fā)現(xiàn)微軟早提供好了settings,用以定義.config文件內(nèi)容,并生成相應(yīng)的強(qiáng)類(lèi)型類(lèi),使用起來(lái)極其方便~,感覺(jué)就像在火星居住了半輩子突然發(fā)現(xiàn)還有地球這好地方。

鑒于網(wǎng)上settings方面的資料不多、不詳,我就以此文來(lái)介紹一下基本的用法,讓小鳥(niǎo)們少走我那條破路,老鳥(niǎo)請(qǐng)直接從上空滑翔而過(guò)即可。

基本使用方法

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

建立一個(gè)WinForm項(xiàng)目 

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

 添加新項(xiàng)

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

打開(kāi)的數(shù)據(jù)表格中做如下設(shè)置 

這樣就設(shè)置好了a、b、c三個(gè)不同類(lèi)型的配置變量,現(xiàn)在就可以在程序中使用它們了:

  1. private void Form1_Load(object sender, EventArgs e)  
  2. {  
  3.     numericUpDown1.Value = MyApp.Default.a;  
  4.     textBox1.Text = MyApp.Default.b;  
  5.     checkBox1.Checked = MyApp.Default.c;  
  6. }  
  7. private void Form1_FormClosing(object sender, FormClosingEventArgs e)  
  8. {  
  9.     MyApp.Default.a = numericUpDown1.Value;  
  10.     MyApp.Default.b = textBox1.Text;  
  11.     MyApp.Default.c = checkBox1.Checked;  
  12.     MyApp.Default.Save();  

通過(guò)上面的代碼就可以在窗體開(kāi)閉時(shí)分別加載、保存配置了。

運(yùn)行抓圖:

image 

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

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

image 

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

#p#

讀寫(xiě)復(fù)雜數(shù)據(jù)類(lèi)型

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

首先添加一個(gè)配置變量d,其類(lèi)型為System.Collections.ArrayList:

添加一個(gè)配置變量d 

在窗體中增加一個(gè)ListBoxt,然后修改后臺(tái)代碼為:

增加一個(gè)ListBoxt的代碼 

高亮部分為新增的代碼。

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

測(cè)試 

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

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

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

數(shù)據(jù)表格的范圍 

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

應(yīng)用程序 

報(bào)錯(cuò)了,我們的配置變量變成只讀的了,所以這里可以簡(jiǎn)單地把它們理解為:

用戶=可讀寫(xiě)

應(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ì)出問(wèn)題了,所以要只讀。

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

你可能會(huì)發(fā)現(xiàn)編譯后在Debug目錄中有個(gè)“SettingTest.exe.config”,但無(wú)論如何操作程序,這個(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é)語(yǔ)

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

原文標(biāo)題:使用配置文件(.settings、.config)存儲(chǔ)應(yīng)用程序配置

鏈接:http://skyd.cnblogs.com/

【編輯推薦】

  1. C#讀取配置文件詳解
  2. ASP.NET配置設(shè)置的范圍淺析
  3. 認(rèn)識(shí)ASP.NET配置文件Web.config
  4. ASP.NET 應(yīng)用程序依賴machine.config的配置
  5. Windows 7下配置.NET開(kāi)發(fā)環(huán)境及激活
責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2020-10-14 15:05:02

React應(yīng)用程序

2021-09-26 08:30:31

Python應(yīng)用程序代碼

2009-07-29 17:01:13

2024-03-18 09:00:00

Java配置文件引導(dǎo)優(yōu)化開(kāi)發(fā)

2012-06-07 09:15:14

ibmdw

2010-12-28 16:35:32

Outlook 配置文

2009-06-19 13:45:53

Java應(yīng)用程序Jfreechart

2011-01-13 16:27:26

Linux配置文件

2010-02-23 14:17:20

WCF配置文件

2011-01-19 14:00:21

2021-08-13 13:55:03

鴻蒙HarmonyOS應(yīng)用

2010-03-18 18:17:01

Python 配置文件

2011-09-08 16:07:13

Widget配置文件

2021-07-08 21:19:04

BashLinux

2011-12-02 14:17:51

Java

2010-12-27 14:59:31

Outlook 配置文

2009-12-10 15:35:10

ASP.Net 2.0

2010-08-05 14:36:07

NFS服務(wù)

2010-05-05 16:14:09

Unix管理

2011-03-25 17:13:37

Nagios配置文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)