其中,資源是的范圍很廣,它可由多種元素組成,包括與用戶交互的界面元素(如位圖、圖標或光標)、應用程序所需數據的自定義文件以及安裝 API 使用的版本文件、菜單和對話框等都可以作為資源。為.Net程序集添加資源,就可實現資源重用等功能。使用Visual Studio.Net集成開發環境IDE很容易創建資源文件,把資源添加到工程中的方法和添加窗體、類庫一樣簡單,只是你需要設置資源的“BuildAction”屬性為“Embedded Resource”,這樣你就可以使用這些資源
創建資源
字符串表是極常見的一種資源。要創建這類資源文件,有以下兩種方式:
(1)使用.Net命令行工具ResGen創建。首先創建包含資源內容的文本文件,可使用(記事本、EditPlus等文本編輯器)。該文本文件由所需要的“鍵值對”組成,鍵的名稱可以在程序中引用,設置鍵名后把字符串值賦予該鍵即可完成文件的創建。作為示例,以下語句段產生這樣的資源,按下面的格式保存為userinfo.txt文件:
代碼如下:
Username="Songh";
Sex="Boy";
Birthday="1973-01-15";
Salary="5000RMB";
然后,把文本文件轉換為資源文件,這仍然通過ResGen工具來實現。執行以下語句:ResGen userinfo.txt,就將生成資源文件userinfo.resources。另外,ResGen還可以創建基于XML格式的.resX資源文件,執行以下命令ResGen userinfo.resources userinfo.resx 就將生成Xml格式的資源userinfo.resx。不過,ResGen工具不支持圖象資源的操作,下面的方法就不具有這樣的限制。
(2)使用ResourceWriter類。 為易于創建資源文件,.Net結構提供了ResourceWriter類以支持圖象等各種資源類型的創建。ResourceWriter類包含的方法能以系統默認的格式將資源寫入輸出文件或輸出流。與方法1)不同的是,這里統一在一個過程中完成。
要創建一個資源文件,請調用ResourceWriter類的構造函數初始化類實例并至少提供流名或文件名。資源的實際內容通過調用AddResource方法來完成,AddResource方法將資源指定為名稱和值對。資源的實際寫入需要調用Generate方法來實現,不過,在調用Close方法關閉該ResourceWriter時將隱式調用Generate方法。
ResourceWriter.AddResource()方法向要寫入資源的列表中添加資源。在創建ResourceWriter類實例后,該方法可以添加至多2GB的資源,下面的重載方法之一用于向資源列表中添加string資源:
代碼如下:
public void AddResource(
string name,//鍵名
string value//值
);
在這里,AddResource方法的第一個參數指定鍵名稱,第二個參數指定值。多次調用該方法就可以完成字符串表的創建。另外,添加圖象資源可以通過實例化類Image來實現(這時,請添加System.Drawing名稱空間)。
下面的代碼段生成包含字符串表和圖象的資源文件userinfo.resources。
新聞熱點
疑難解答
圖片精選