CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [转贴] C#资源文件的创建和使用
267416902
灵玉会员
Rank: 8Rank: 8



UID 305149
精华 0
积分 7208
帖子 428
威望 3464
ZD币 769 元
阅读权限 180
注册 2008-3-10
状态 离线
  楼主
发表于 2008-4-22 14:36  资料  个人空间  短消息  加为好友 
开发者在线

C#资源文件的创建和使用

Visual   C#资源文件编程--创建资源文件     
      推荐:simon   分类:.NET   发布时间:2003-04-15   人气:419         
      
        
  资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。那么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   (   )   ;   
   
  }   
   
  }     
   
   
   
  最好还要提醒一下,在成功编译成执行文件后,在执行此文件的时候,必须保证在此执行文件的相同目录,存在上面代码中提到名称的图标和图象,否则在创建资源文件的时候是会出错的。     
   
   
   
  五.总结:     
   
  可见用Visual   C#创建资源文件并不是一个复杂的过程,在下一篇文章中,我们将介绍如何在Visual   C#使用资源文件中资源。这才是Visual   C#资源文件编程的重点和难点。当然文中所使用的资源文件就是以本文中创建的资源文件。




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-1-10 09:16

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.263235 second(s), 4/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版