程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Visual C#創建資源文件 實現代碼

Visual C#創建資源文件 實現代碼

編輯:關於C#
 

資源文件顧名思義就是存放資源的文件。資源文件在程序設計中有著自身獨特的優勢,他獨立於源程序,這樣資源文件就可以被多個程序使用。同時在程序設計的時候,有時出於安全或者其他方面因素的考慮,把重要東西存放在資源文件中,也可以達到保密、安全的效果。那麼Visual C#所使用的資源文件中到底存放哪些東西呢?在用Visual C#創建資源文件大致可以存放三種類型的數據資源,分別是字節數組、各種對象和字符串。本文將結合一個程序例子來具體說明用Visual C#是如何創建資源文件的。

一.用Visual C#在創建資源文件用到的一些概念和理論:
在.Net FrameWork SDK中的一個名字叫System.Resources名稱空間,在此名稱空間中為應用程序提供了許多創建、存儲和使用資源文件的類和接口。其中有一個類叫ResourceWriter,Visual C#就是通過調用這個類來實現創建、存儲資源文件的。

二.Visual C#如何創建資源文件:
首先要繼承一個ResourceWriter類,然後調用ResourceWriter類的一個方法Generate ( ),就可以產生一個資源文件了。具體語句如下:


ResourceWriter rw = new ResourceWriter ( "My.resources" ) ;
rw.Generate ( ) ;

此時在磁盤的中就會產生一個名稱為"My.resources"的資源文件,但此時的資源文件沒有任何內容,下面我們就來看看如何往資源文件中添加資源。

三.在資源文件中添加資源:
在ResourceWriter類中提供了一個AddResource ( )方法,這個方法的作用就是往資源文件中添加資源的。在Visual C#中對不同的資源有著不同的加入方式。

(1).加入字節數組,語法格式為:


public void AddResource ( string , byte [ ] ) ;

注釋:其中string是在使用資源文件的時候,此字節數組在程序中的的唯一標識符

(2).加入對象,語法格式為:


public void AddResource ( string , object );

注釋:其中string是在使用資源文件的時候,此對象在程序中的唯一標識符

在本文程序中,我們利用這種調用方式來加入圖標和圖象,具體如下:


Icon ico = new Icon ( "Demo.ico" ) ;
Image canceloff = Image.FromFile ("cancel-off.png") ;
Image cancelon = Image.FromFile ( "cancel-on.png" ) ;
Image cancelover = Image.FromFile ( "cancel-over.png" ) ;
Image okdown = Image.FromFile ( "ok-down.png" ) ;
Image okoff = Image.FromFile ( "ok-off.png" ) ;
Image okon = Image.FromFile ( "ok-on.png" ) ;

rw.AddResource ( "demo.ico" , ico ) ;//在資源文件中加入圖標
//以下是在資源文件中加入圖象
rw.AddResource ( "cancel-off.png" , canceloff ) ;
rw.AddResource ( "cancel-on.png" , cancelon ) ;
rw.AddResource ( "cancel-over.png" , cancelover ) ;
rw.AddResource ( "ok-down.png" , okdown ) ;
rw.AddResource ( "ok-off.png" , okoff ) ;
rw.AddResource ( "ok-on.png" , okon ) ;

(3).加入字符串,具體語法如下:

public void AddResource ( string1 , string2) ;

注釋:其中string1是在使用資源文件的時候,此字符串在程序中的唯一標識符在本文的程序中,是如此使用的:


rw.AddResource ( "MyStr" , "從資源文件中讀取字符串!" );

至此我們已經創建了一個資源文件,並且在資源文件中加入了若干個資源,當然在這之後,還應該注意,保存此資源文件,並關閉資源文件,具體如下:


rw.Close ( ) ;

四.創建資源文件的源程序代碼:
通過上面的論述,我們不難理解下面這些代碼。下列程序代碼的作用就是,創建一個名稱為"My.resources"資源文件,並且在此資源文件中加入一個圖標資源,若干個圖象資源,和一個字符串資源。具體代碼如下:


CreatResources.cs:
using System ;
using System.Drawing ;
using System.Resources ;

class CreatResource
{
public static void Main ( )
{
ResourceWriter rw = new ResourceWriter ( "My.resources" ) ;
Icon ico = new Icon ( "Demo.ico" ) ;

Image canceloff = Image.FromFile ("cancel-off.png") ;
Image cancelon = Image.FromFile ( "cancel-on.png" ) ;
Image cancelover = Image.FromFile ( "cancel-over.png" ) ;
Image okdown = Image.FromFile ( "ok-down.png" ) ;
Image okoff = Image.FromFile ( "ok-off.png" ) ;
Image okon = Image.FromFile ( "ok-on.png" ) ;

rw.AddResource ( "demo.ico" , ico ) ;

rw.AddResource ( "cancel-off.png" , canceloff ) ;
rw.AddResource ( "cancel-on.png" , cancelon ) ;
rw.AddResource ( "cancel-over.png" , cancelover ) ;
rw.AddResource ( "ok-down.png" , okdown ) ;
rw.AddResource ( "ok-off.png" , okoff ) ;
rw.AddResource ( "ok-on.png" , okon ) ;

rw.AddResource ( "MyStr" , "從資源文件中讀取字符串!" ) ;
rw.Generate ( ) ;
rw.Close ( ) ;
}
}

最好還要提醒一下,在成功編譯成執行文件後,在執行此文件的時候,必須保證在此執行文件的相同目錄,存在上面代碼中提到名稱的圖標和圖象,否則在創建資源文件的時候是會出錯的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved