青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我希望你是我獨(dú)家記憶

一段永遠(yuǎn)封存的記憶,隨風(fēng)而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

C#中使用設(shè)置 Properties.Settings.Default

Posted on 2011-01-05 16:13 Hero 閱讀(9884) 評論(0)  編輯 收藏 引用 所屬分類: C#積累

簡介

.NET Framework 2.0 允許您創(chuàng)建和訪問在各應(yīng)用程序執(zhí)行會話之間保持的值。這些值稱為設(shè)置。設(shè)置可以表示用戶首選項(xiàng),也可表示應(yīng)用程序需要使用的寶貴信息。例如,可以創(chuàng)建一系列設(shè)置來存儲應(yīng)用程序配色方案的用戶首選項(xiàng)。也可以存儲指定應(yīng)用程序所使用數(shù)據(jù)庫的連接字符串。通過設(shè)置不但可以保持對于代碼外部的應(yīng)用程序至關(guān)重要的信息,而且還可以創(chuàng)建分別存儲各用戶首選項(xiàng)的配置文件。

Visual Basic 2005 使用 My 命名空間提供了一種顯而易見的設(shè)置訪問機(jī)制,而在 Visual C# 2005 中沒有類似的命名空間,因而訪問設(shè)置稍微要困難一些。盡管如此,C# 用戶仍可通過訪問 Properties 命名空間來使用設(shè)置。在閱讀本文的過程中,您將會了解應(yīng)用程序設(shè)置與用戶設(shè)置之間的差異、如何在設(shè)計時創(chuàng)建新的設(shè)置、如何在運(yùn)行時訪問設(shè)置,以及如何將多組設(shè)置合并到應(yīng)用程序中。

應(yīng)用程序及用戶設(shè)置

設(shè)置具有四個屬性:

Name(名稱):設(shè)置的“Name”(名稱)屬性是指用于在運(yùn)行時訪問設(shè)置值的名稱。

Type(類型):設(shè)置的“Type”(類型)是指設(shè)置所表示的 .NET Framework 類型。設(shè)置可以是任意類型。例如,存放用戶顏色首選項(xiàng)的設(shè)置將會是 System.Color 類型。

Scope(作用域):“Scope”(作用域)屬性表示如何在運(yùn)行時訪問設(shè)置。“Scope”(作用域)屬性有兩個可能的值:“Application”(應(yīng)用程序)和“User”(用戶)。本部分將會對這些值進(jìn)行更多討論。

Value(值):“Value”(值)屬性表示訪問設(shè)置時返回的值。該值將為“Type”(類型)屬性所表示的類型。

這些屬性中的大多數(shù)都相當(dāng)容易理解。“Name”(名稱)、“Type”(類型)和“Value”(值)的概念均應(yīng)為大多數(shù)程序員所熟知。“Scope”(作用域)屬性需要稍加說明。設(shè)置具有兩個可能的作用域:應(yīng)用程序作用域和用戶作用域。具有應(yīng)用程序作用域的設(shè)置表示無論用戶首選項(xiàng)為何應(yīng)用程序都會使用的設(shè)置,而具有用戶作用域的設(shè)置對實(shí)際應(yīng)用程序來說通常并不是很重要,它們很可能與首選項(xiàng)或其他非關(guān)鍵值關(guān)聯(lián)。

應(yīng)用程序作用域設(shè)置與用戶作用域設(shè)置之間的重要區(qū)別是,用戶作用域設(shè)置在運(yùn)行時為讀/寫,并且可在代碼中對其值進(jìn)行更改和保存。應(yīng)用程序作用域設(shè)置在運(yùn)行時為只讀。雖然可以讀取,但是不能對其進(jìn)行寫入。具有應(yīng)用程序作用域的設(shè)置只能在設(shè)計時或通過手動修改設(shè)置文件進(jìn)行更改。

在設(shè)計時創(chuàng)建新設(shè)置

可以使用設(shè)置設(shè)計器在設(shè)計時創(chuàng)建新的設(shè)置。設(shè)置設(shè)計器采用了大家熟悉的網(wǎng)格式界面,通過它可以創(chuàng)建新設(shè)置并指定這些設(shè)置的屬性。必須為每個新設(shè)置指定“Name”(名稱)、“Type”(類型)、“Scope”(作用域)和“Value”(值)。創(chuàng)建了設(shè)置后,即可使用本文稍后介紹的機(jī)制在代碼中對其進(jìn)行評估。

在設(shè)計時創(chuàng)建新設(shè)置的步驟

在“Solution Explorer”(解決方案資源管理器)中,展開項(xiàng)目的“Properties”(屬性)節(jié)點(diǎn)。

在“Solution Explorer”(解決方案資源管理器)中,雙擊要在其中添加新設(shè)置的 .settings 文件。此文件的默認(rèn)名稱是 Settings.settings。

在設(shè)置設(shè)計器中,為設(shè)置設(shè)定“Name”(名稱)、“Type”(類型)、“Scope”(作用域)和“Value”(值)。每行代表單個設(shè)置。圖 1 給出了一個設(shè)置設(shè)計器示例。

.

圖 1. Visual Studio 2005 中的設(shè)置設(shè)計器

在設(shè)計時更改現(xiàn)有設(shè)置的值

還可以按以下步驟所述,使用設(shè)置設(shè)計器在設(shè)計時更改預(yù)先存在設(shè)置的值:

在設(shè)計時更改現(xiàn)有設(shè)置值的步驟

在“Solution Explorer”(解決方案資源管理器)中,展開項(xiàng)目的“Properties”(屬性)節(jié)點(diǎn)。

在“Solution Explorer”(解決方案資源管理器)中,雙擊要在其中添加新設(shè)置的 .settings 文件。此文件的默認(rèn)名稱是 Settings.settings。

在設(shè)置設(shè)計器中,找到要更改的設(shè)置,然后在“Value”(值)列中鍵入新值。

在應(yīng)用程序會話之間更改設(shè)置值

有時,在編譯和部署了應(yīng)用程序后,可能需要在應(yīng)用程序會話之間更改設(shè)置值。例如,可能需要更改連接字符串,使其指向正確的數(shù)據(jù)庫位置。由于設(shè)計時工具在應(yīng)用程序編譯和部署后不可用,所以必須手動在文件中更改設(shè)置值。

在應(yīng)用程序會話間更改設(shè)置值的步驟

使用 Microsoft 記事本或其他某種文本或 XML 編輯器,打開與應(yīng)用程序關(guān)聯(lián)的 <AssemblyName>.exe.config 文件。

找到要更改的設(shè)置條目。它應(yīng)看似以下示例:

<setting name="Setting" serializeAs="String">
            <value>這是設(shè)置值</value>
            </setting>
            

為設(shè)置鍵入新值,然后保存該文件。

在運(yùn)行時使用設(shè)置

運(yùn)行時應(yīng)用程序可以通過代碼使用設(shè)置。具有應(yīng)用程序作用域的設(shè)置值能夠以只讀方式進(jìn)行訪問,而用戶作用域設(shè)置的值可以進(jìn)行讀寫。在 C# 中可以通過 Properties 命名空間使用設(shè)置。

在運(yùn)行時讀取設(shè)置

可在運(yùn)行時使用 Properties 命名空間讀取應(yīng)用程序作用域及用戶作用域設(shè)置。Properties 命名空間通過Properties.Settings.Default 對象公開了項(xiàng)目的所有默認(rèn)設(shè)置。編寫使用設(shè)置的代碼時,所有設(shè)置都會出現(xiàn)在 IntelliSense 中并且被強(qiáng)類型化。因此,舉例來說,如果設(shè)置的類型為 System.Drawing.Color,則無需先對其進(jìn)行強(qiáng)制類型轉(zhuǎn)換即可使用該設(shè)置,如下例所示:

this.BackColor = Properties.Settings.Default.myColor;

在運(yùn)行時保存用戶設(shè)置

應(yīng)用程序作用域設(shè)置是只讀的,只能在設(shè)計時或通過在應(yīng)用程序會話之間修改 <AssemblyName>.exe.config 文件來進(jìn)行更改。然而,用戶作用域設(shè)置卻可以在運(yùn)行時進(jìn)行寫入,就像更改任何屬性值那樣。新值會在應(yīng)用程序會話持續(xù)期間一直保持下去。可以通過調(diào)用 Settings.Save 方法來保持在應(yīng)用程序會話之間對用戶設(shè)置所做的更改。這些設(shè)置保存在 User.config 文件中。

在運(yùn)行時寫入和保持用戶設(shè)置的步驟

訪問用戶設(shè)置并為其分配新值,如下例所示:

Properties.Settings.Default.myColor = Color.AliceBlue;
            

如果要保持在應(yīng)用程序會話之間對用戶設(shè)置所做的更改,請調(diào)用 Save 方法,如以下代碼所示:

Properties.Settings.Default.Save();
            

交替使用多組設(shè)置

在某些情況下,可能需要在應(yīng)用程序中使用多組設(shè)置。例如,如果正在開發(fā)的應(yīng)用程序中有某組設(shè)置預(yù)計會頻繁進(jìn)行更改,則比較明智的做法是將其全都分成單個文件,這樣便可成批替換相應(yīng)文件,而不會使其他設(shè)置受到影響。Visual Studio 2005 允許向項(xiàng)目中添加多組設(shè)置。可以通過各自節(jié)點(diǎn)中生成的設(shè)置對象來訪問各組附加設(shè)置。例如,如果向項(xiàng)目中添加了名為 SpecialSettings 的一組設(shè)置,則要通過Properties.SpecialSettings 對象來訪問該組設(shè)置包含在代碼中的設(shè)置。

添加附加設(shè)置組的步驟

從“Project”(項(xiàng)目)菜單中選擇“Add New Item”(添加新項(xiàng))。將會打開“Add New Item”(添加新項(xiàng))對話框。

在“Add New Item”(添加新項(xiàng))對話框中,選擇“Settings File”(設(shè)置文件)。

在“Name”(名稱)框中為設(shè)置文件命名,如 SpecialSettings.settings,然后單擊“Add”(添加),將文件添加到解決方案中。

在“Solution Explorer”(解決方案資源管理器)中,將新的設(shè)置文件拖入到 Properties 文件夾中。這樣便可在代碼中使用新的設(shè)置。

如在其他任何設(shè)置文件中那樣在此文件中添加和使用設(shè)置。可通過 Properties.SpecialSettings 對象訪問此組設(shè)置。

結(jié)束語

在本文中,您已了解如何在 C# 應(yīng)用程序中使用設(shè)置來存儲和管理從屬于應(yīng)用程序和用戶的設(shè)置。您還學(xué)會了如何在設(shè)計時添加設(shè)置、如何在運(yùn)行時讀寫設(shè)置,以及如何將多組附加設(shè)置合并到應(yīng)用程序中。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            美女黄毛**国产精品啪啪| 国产欧美精品| 欧美视频网址| 亚洲二区三区四区| 久久久精品性| 亚洲欧美日韩国产中文在线| 欧美日韩八区| 99国产一区二区三精品乱码| 欧美成人有码| 久久久人成影片一区二区三区观看| 国产精品亚洲片夜色在线| 亚洲一级在线观看| 一区二区三区视频在线| 欧美视频在线观看| 亚洲永久免费精品| 日韩视频―中文字幕| 欧美女人交a| 一区二区三区日韩在线观看| 亚洲精品之草原avav久久| 欧美日韩国产成人在线| 亚洲图片欧美一区| 亚洲一区二区三区激情| 国产精品一区二区在线观看不卡| 亚洲欧美中文日韩在线| 香蕉久久a毛片| 国内精品一区二区| 欧美黄色免费| 欧美日韩中文字幕在线视频| 亚洲一区二区成人在线观看| 亚洲与欧洲av电影| 狠狠爱www人成狠狠爱综合网| 国产精品黄色| 国产精品劲爆视频| 久久成人18免费观看| 欧美一区二区视频网站| 狠狠干综合网| 亚洲国产精品久久久| 欧美日产在线观看| 午夜视频一区| 久久中文在线| 亚洲少妇在线| 久久国产99| 一卡二卡3卡四卡高清精品视频| 一区二区三区回区在观看免费视频| 国产精品久久久久免费a∨| 久久综合给合久久狠狠色 | 亚洲自啪免费| 在线不卡免费欧美| 亚洲美女视频在线观看| 国产欧美一区二区色老头| 欧美成人激情视频| 国产精品电影在线观看| 免费看成人av| 国产精品美女黄网| 欧美77777| 国产精品一区视频网站| 欧美成年视频| 国产伦精品一区二区三区照片91| 欧美黄色一级视频| 国产午夜精品一区二区三区视频 | 99精品免费网| 在线观看av一区| 亚洲欧美国产三级| av不卡在线观看| 久久精品亚洲| 西瓜成人精品人成网站| 欧美日本国产精品| 欧美国产日韩亚洲一区| 国产乱人伦精品一区二区| 亚洲福利在线视频| 一区二区三区我不卡| 亚洲一级二级| 中日韩高清电影网| 欧美高清视频一二三区| 嫩草成人www欧美| 国产视频丨精品|在线观看| 一本一本久久a久久精品综合麻豆| 在线日韩欧美视频| 久久精品国产999大香线蕉| 欧美一区国产在线| 国产精品久久久久久久免费软件 | 亚洲国产婷婷综合在线精品| 亚洲欧美综合v| 亚洲欧美激情视频| 国产精品久久久久久久久久ktv| 91久久一区二区| 亚洲欧洲在线播放| 女生裸体视频一区二区三区| 久久综合九色综合欧美狠狠| 欧美阿v一级看视频| 国产精品男女猛烈高潮激情 | 中文精品视频| 一区二区三区色| 欧美人在线观看| 夜夜嗨av一区二区三区四区| 在线性视频日韩欧美| 欧美另类极品videosbest最新版本| 欧美激情第3页| 亚洲精品综合| 欧美日韩另类一区| 中日韩高清电影网| 欧美一区二区三区四区高清 | 欧美国产欧美综合| 亚洲日本欧美天堂| 一区二区三区国产| 国产精品高清免费在线观看| 一区二区三区四区五区视频| 亚洲一区二区三区成人在线视频精品| 欧美三区在线观看| 午夜精品av| 欧美国产乱视频| 亚洲日本免费电影| 欧美日韩午夜在线视频| 亚洲一级高清| 久久久欧美精品| 亚洲欧洲日产国产综合网| 欧美片在线观看| 亚洲欧美激情视频| 欧美.com| 亚洲一区二区三区精品动漫| 国产农村妇女毛片精品久久莱园子 | 亚洲高清123| 欧美人成网站| 午夜在线一区| 亚洲国产精品一区| 午夜伦欧美伦电影理论片| 狠狠v欧美v日韩v亚洲ⅴ| 欧美成人精品福利| 亚洲一区成人| 欧美丰满高潮xxxx喷水动漫| 一本色道久久88精品综合| 国产精品亚洲аv天堂网| 久热成人在线视频| 这里只有精品丝袜| 欧美a级大片| 午夜久久电影网| 亚洲精品乱码| 国产一区视频网站| 欧美特黄一区| 免费观看久久久4p| 午夜精品久久久久久 | 欧美午夜精品久久久久久浪潮| 欧美一级播放| 99国产精品久久久久老师| 美日韩精品视频| 午夜免费在线观看精品视频| 亚洲精品国产精品久久清纯直播| 国产女主播一区二区三区| 欧美日韩一区二区免费在线观看| 欧美大色视频| 欧美一区二区播放| 中国女人久久久| 亚洲人成啪啪网站| 伊人蜜桃色噜噜激情综合| 国产欧美精品久久| 欧美午夜精品电影| 免费在线成人| 久久精品久久99精品久久| 亚洲自拍偷拍网址| 在线亚洲观看| 亚洲最新色图| 日韩视频一区二区三区在线播放免费观看| 麻豆91精品91久久久的内涵| 久久超碰97人人做人人爱| 午夜精品一区二区三区在线视| 夜夜爽99久久国产综合精品女不卡| 亚洲欧洲日产国产综合网| 亚洲成色777777女色窝| 黄色精品免费| 狠狠色伊人亚洲综合网站色| 国产一区二区三区黄视频| 国产精品专区h在线观看| 欧美午夜精品久久久| 欧美性色综合| 国产精品久久久久久超碰| 国产精品久久久久久久浪潮网站 | 国产三级欧美三级| 国产欧美一区视频| 国产精品亚洲综合| 国产精品久久久久久久久借妻| 国产精品vip| 国产精品久久九九| 国产精品盗摄一区二区三区| 欧美系列亚洲系列| 国产精品日本一区二区| 国产麻豆精品久久一二三| 国产欧美日韩综合精品二区| 国产日韩欧美一区在线| 激情婷婷久久| 亚洲成色777777在线观看影院| …久久精品99久久香蕉国产| 亚洲国产三级| 在线综合+亚洲+欧美中文字幕| 亚洲视频网在线直播| 午夜综合激情| 美女诱惑黄网站一区| 亚洲黄色影院| 亚洲一区国产精品| 久久激情视频久久| 欧美乱大交xxxxx|