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

我希望你是我獨(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è)計(jì)時(shí)創(chuàng)建新的設(shè)置、如何在運(yùn)行時(shí)訪問設(shè)置,以及如何將多組設(shè)置合并到應(yīng)用程序中。

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

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

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

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

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

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

這些屬性中的大多數(shù)都相當(dāng)容易理解。“Name”(名稱)、“Type”(類型)和“Value”(值)的概念均應(yīng)為大多數(shù)程序員所熟知。“Scope”(作用域)屬性需要稍加說明。設(shè)置具有兩個(gè)可能的作用域:應(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)行時(shí)為讀/寫,并且可在代碼中對其值進(jìn)行更改和保存。應(yīng)用程序作用域設(shè)置在運(yùn)行時(shí)為只讀。雖然可以讀取,但是不能對其進(jìn)行寫入。具有應(yīng)用程序作用域的設(shè)置只能在設(shè)計(jì)時(shí)或通過手動(dòng)修改設(shè)置文件進(jìn)行更改。

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

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

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

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

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

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

.

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

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

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

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

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

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

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

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

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

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

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

可在運(yùn)行時(shí)使用 Properties 命名空間讀取應(yīng)用程序作用域及用戶作用域設(shè)置。Properties 命名空間通過Properties.Settings.Default 對象公開了項(xiàng)目的所有默認(rèn)設(shè)置。編寫使用設(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í)保存用戶設(shè)置

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

在運(yùn)行時(shí)寫入和保持用戶設(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ì)會頻繁進(jìn)行更改,則比較明智的做法是將其全都分成單個(gè)文件,這樣便可成批替換相應(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è)計(jì)時(shí)添加設(shè)置、如何在運(yùn)行時(shí)讀寫設(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>
            欧美激情视频一区二区三区不卡| 欧美freesex交免费视频| 国产精品日韩在线| 欧美色图五月天| 欧美日韩国产精品一区二区亚洲| 欧美高清视频一区二区| 欧美日韩国产色站一区二区三区| 欧美日韩国产在线看| 欧美日韩在线不卡| 国产精品一区二区三区久久久| 国产老女人精品毛片久久| 国产亚洲午夜| 亚洲区在线播放| 亚洲天堂av综合网| 久久不射中文字幕| 嫩草国产精品入口| 亚洲人www| 亚洲成人中文| 日韩一级欧洲| 亚洲一区免费网站| 久久九九热re6这里有精品 | 一区二区三区日韩欧美| 一区二区三区高清不卡| 久久国产精品一区二区三区| 另类国产ts人妖高潮视频| 欧美精品激情blacked18| 国产精品乱码一区二三区小蝌蚪 | 久久精品国产免费看久久精品| 久久免费精品视频| 欧美私人啪啪vps| 国产综合色在线| 日韩视频一区二区三区在线播放免费观看| 亚洲午夜精品福利| 欧美电影资源| 久久激情视频免费观看| 欧美日韩综合在线免费观看| 在线成人激情视频| 午夜精品久久久久久99热软件| 亚洲电影免费观看高清| 欧美在线一级va免费观看| 欧美性天天影院| 亚洲精品在线免费| 女人天堂亚洲aⅴ在线观看| 亚洲欧美制服另类日韩| 欧美吻胸吃奶大尺度电影| 亚洲人屁股眼子交8| 毛片av中文字幕一区二区| 午夜精品视频一区| 国产精品捆绑调教| 亚洲综合日韩在线| 一本久久综合| 欧美日韩精品在线| 99国产成+人+综合+亚洲欧美| 免费成人毛片| 久久久另类综合| 国产亚洲精品自拍| 欧美一区深夜视频| 在线一区二区三区四区| 麻豆乱码国产一区二区三区| 国产精品免费观看在线| 欧美日韩成人综合在线一区二区| 黑人中文字幕一区二区三区| aa成人免费视频| 久久夜精品va视频免费观看| 一区二区三区av| 免费在线日韩av| 激情成人亚洲| 久久福利影视| 亚洲影视在线| 欧美日韩在线观看视频| 国产精品自在在线| 久久久久久久久久久一区| 久色成人在线| 久久久噜噜噜久久| 国产乱肥老妇国产一区二| 亚洲乱码视频| 欧美电影免费观看网站| 一区二区三区蜜桃网| 国产精品欧美日韩一区二区| 中国亚洲黄色| 99re国产精品| 欧美视频在线观看 亚洲欧| 亚洲理伦电影| 欧美激情久久久久| 麻豆av一区二区三区久久| 在线播放不卡| 久久亚洲一区| 中文国产亚洲喷潮| 国产真实久久| 久久久91精品国产| 欧美影片第一页| 激情视频一区二区| 免费永久网站黄欧美| 美女脱光内衣内裤视频久久网站| 国内伊人久久久久久网站视频| 久久国产精品亚洲va麻豆| 午夜精品久久久久久| 国产伦精品免费视频| 久久九九国产| 久久精品综合一区| 国产精品嫩草影院一区二区| 久久综合给合久久狠狠色| 久久久久久**毛片大全| 激情久久五月| 亚洲国产精品传媒在线观看 | 亚洲伦理精品| 亚洲欧美三级在线| 一区在线免费| 亚洲国产色一区| 欧美日韩999| 亚洲一区在线观看免费观看电影高清 | 亚洲精品一级| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲午夜女主播在线直播| 午夜精品福利在线观看| 激情六月婷婷久久| 亚洲经典在线| 国产女精品视频网站免费| 久久综合伊人77777蜜臀| 欧美成人综合| 欧美一区二区精品久久911| 久久夜色精品国产欧美乱| 99视频精品在线| 欧美伊人久久| 中文精品视频一区二区在线观看| 午夜精品www| 日韩一级精品| 久久er精品视频| 夜夜夜久久久| 久久久久久日产精品| 久热精品视频在线观看一区| 国内精品一区二区三区| 国语自产精品视频在线看| 欧美aⅴ99久久黑人专区| 欧美精品一区二区三区在线播放| 亚洲永久在线| 老司机凹凸av亚洲导航| 性久久久久久久久| 欧美大片一区二区三区| 久久国产精品免费一区| 老**午夜毛片一区二区三区| 性色av一区二区三区红粉影视| 嫩草伊人久久精品少妇av杨幂| 亚洲伊人一本大道中文字幕| 久久夜色精品国产| 欧美一区二区高清在线观看| 国产精品理论片在线观看| 亚洲国产精品久久久久婷婷老年| 国产欧美一区二区色老头| 亚洲六月丁香色婷婷综合久久| 影院欧美亚洲| 欧美一级欧美一级在线播放| 一区二区三区精品视频在线观看| 久久黄金**| 久久精品国产一区二区电影 | 国产精品日日摸夜夜摸av| 欧美激情一区二区三区蜜桃视频 | 亚洲一区二区三区四区视频| 99视频在线观看一区三区| 欧美成人激情视频| 亚洲福利一区| 一本色道精品久久一区二区三区| 久久在线免费观看视频| 欧美不卡视频一区发布| 亚洲第一天堂av| 看片网站欧美日韩| 欧美黄色aaaa| 国外成人在线视频| 久久国产福利| 免费看亚洲片| 亚洲人人精品| 欧美日韩和欧美的一区二区| 亚洲福利免费| 亚洲午夜未删减在线观看| 欧美日韩一本到| 午夜精品久久久久久久99黑人| 久久精品在这里| 亚洲电影免费观看高清| 免费在线观看日韩欧美| 久久成人羞羞网站| 国产精品五区| 久久精品男女| 亚洲国产一区在线| 亚洲欧美怡红院| 好看的av在线不卡观看| 欧美**人妖| 亚洲午夜91| 久久综合激情| 亚洲综合不卡| 久久久久国产成人精品亚洲午夜| 国产综合久久久久影院| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲免费av观看| 久久福利影视| 国产精品三区www17con| 欧美三级电影大全| 欧美一区二区三区四区在线观看地址 | 亚洲一二区在线| 鲁大师成人一区二区三区| 亚洲日本一区二区|