Visual C#资源文件编程--创建资源文件

转载 2004年08月07日 09:47:00
Visual C#资源文件编程--创建资源文件
(王天 2002年01月21日 23:46)

资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。那么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# Winform资源文件的创建、加载和使用

C#winform中通过资源文件(.resx)实现国际化,加载不同语言的资源文件可实现对应语言版本的程序和界面显示,下面简单介绍资源文件的创建与加载步骤: 创建中英文资源文件        win...
  • yanfk
  • yanfk
  • 2017年02月23日 19:59
  • 2591

C#图片存到资源文件,以及调用图片(转载)

C#图片存到资源文件,以及调用图片(转载) 转载地址:http://blog.csdn.net/mengdong_zy/article/details/8971154/...
  • headwind_
  • headwind_
  • 2017年03月02日 11:24
  • 462

让Visual Studio Shell新建C#项目和文件就这么简单

使用Visual studio shell创建C#项目和文件
  • thy38
  • thy38
  • 2014年03月11日 12:45
  • 5954

C#读取资源文件的两种方法

http://lwl0606.cmszs.com/?p=1021 方法1 GetManifestResourceStream VB.NET中资源的名称为:项目默认命名空间.资源文件名 C...
  • zyh_1988
  • zyh_1988
  • 2017年06月03日 10:31
  • 2724

c# winfrom资源文件的调用和路径全解

System.Diagnostics命名空间 : string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的e...
  • snlei
  • snlei
  • 2013年07月24日 14:55
  • 11440

Android资源文件之创建与访问

如果你想将某一资源用于多种设备配置(但是不想作为默认资源提供), 则无需将同一资源放入多个备用资源目录中。相反,可以(在某些情况下)创建备用资源,充当保存在默认资源目录下的资源的别名。 注: 并非...
  • u012908775
  • u012908775
  • 2016年07月15日 16:36
  • 1557

从资源文件里加载文件或读取资源(C#)

http://blog.csdn.net/xochenlin/article/details/3240939 从资源文件里加载文件(C#)   用途: 1.       在进行多国...
  • y13156556538
  • y13156556538
  • 2016年11月17日 12:28
  • 2513

C#读取嵌入资源(程序集清单资源)

1、添加嵌入的资源
  • whucv
  • whucv
  • 2014年04月13日 15:51
  • 2261

C#图片存到资源文件,以及调用图片

在程序中会用到图片,有两种方法,一种是将图片放在运行文件夹中,直接调用,另一种是将图片放入资源文件中。 方法一,一般在.exe文件同级创建文件夹,如“ico”,然后把图标放进去。在程...
  • Anzhongliu
  • Anzhongliu
  • 2015年08月24日 14:15
  • 3802

C#图片存到资源文件,以及调用图片

http://blog.csdn.net/mengdong_zy/article/details/8971154/ 在程序中会用到图片,有两种方法,一种是将图片放在运行文件夹中,直接调用,另一...
  • y13156556538
  • y13156556538
  • 2017年03月17日 13:05
  • 546
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual C#资源文件编程--创建资源文件
举报原因:
原因补充:

(最多只允许输入30个字)