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).加入字节数组,语法格式为:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->public void AddResource ( string , byte [ ] ) ;

注释:其中string是在使用资源文件的时候,此字节数组在程序中的的唯一标识符

(2).加入对象,语法格式为:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->public void AddResource ( string , object );

注释:其中string是在使用资源文件的时候,此对象在程序中的唯一标识符

在本文程序中,我们利用这种调用方式来加入图标和图象,具体如下:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->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).加入字符串,具体语法如下:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->public void AddResource ( string1 , string2) ;

注释:其中string1是在使用资源文件的时候,此字符串在程序中的唯一标识符在本文的程序中,是如此使用的:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->rw.AddResource ( "MyStr" , "从资源文件中读取字符串!" );

至此我们已经创建了一个资源文件,并且在资源文件中加入了若干个资源,当然在这之后,还应该注意,保存此资源文件,并关闭资源文件,具体如下:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->rw.Close ( ) ;

四.创建资源文件的源程序代码:

通过上面的论述,我们不难理解下面这些代码。下列程序代码的作用就是,创建一个名称为"My.resources"资源文件,并且在此资源文件中加入一个图标资源,若干个图象资源,和一个字符串资源。具体代码如下:

CreatResources.cs:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->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#创建资源文件

时间: 2024-08-24 12:48:48

C#创建资源文件的相关文章

Create创建资源文件

Create:该菜单下的子菜单主要用于创建各种资源 在Assets中建立不同的文件夹,用来存放不同的游戏资源 原文地址:https://www.cnblogs.com/kubll/p/10801387.html

C#创建和使用资源文件

创建资源文件     资源文件顾名思义就是存放资源的文件.资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用.同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密.安全的效果.那么Visual C#所使用的资源文件中到底存放哪些东西呢?在用Visual C#创建资源文件大致可以存放三种类型的数据资源,分别是字节数组.各种对象和字符串.本文将结合一个程序例子来具体说明用Visual C#是如何创建资源文件的. 一

.Net 多语言 与资源文件

目前很多网站都支持多语言,特别是中英文.而.Net网站中的多语言就要用到资源文件.资源文件分为全局资源文件(App_GlobalResource)以及本地资源文件(App_LocalResource). 创建资源文件 对于一个项目,我们一般都会创建全局资源文件以及本地资源文件.我们可以首先新建两个文件夹:App_GlobalResource,App_LocalResource. 1. 创建本地资源文件(App_LocalResource) 本地资源文件是针对于某个页面资源信息.所以,原则上我们应

二、添加资源文件

Qt资源系统是一个跨平台的资源机制,可以将各种类型的文件以二进制的方式存储与可执行文件内部.使用Qt Creator可以很方便的创建资源文件.在工程上点击右键选择"添加新文件",可在Qt分类中找到Qt资源文件(Qt Resource File),如下图所示,将其命名为res: 创建完成后会自动打开资源文件,在界面右侧编辑区,有个添加按钮 .如下图: 我们需要先添加前缀,点击添加选择添加前缀,默认前缀是"/new/prefix1",这个可以随便更改但是不要使用中文字符

Delphi 资源文件( .res)

一.    现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程序的一部分,程序要正常运行就离不了资源文件.但是它是不可执行代码.      为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件.它可以把我们程序中所需要的资源整合到一个资源文件(.RES)下来.在编译应用程序时直接编译进了可执行程序里,成为应用程序的整合体.      这样做的好

资源文件制作

delphi资源文件制作及使用详解 摘自:http://www.ej38.com/showinfo/delphi-131567.html 一.引子:现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程序的一部分,程序要正常运行就离不了资源文件.但是它是不可执行代码.为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件.它可以把我们程序中所需要的资

delphi资源文件制作及使用详解

一.引子:现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程序的一部分,程序要正常运行就离不了资源文件.但是它是不可执行代码.为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件.它可以把我们程序中所需要的资源整合到一个资源文件(.RES)下来.在编译应用程序时直接编译进了可执行程序里,成为应用程序的整合体.这样做的好处是:1.由于定位资源比在

delphi 资源文件详解

delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程序的一部分,程序要正常运行就离不了资源文件.但是它是不可执行代码. 为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件.它可以把我们程序中所需要的资源整合到一个资源文件(.RES)下来.在编译应用程序时直接编译进了可执行程序里,成为应用程序的整合体. 这样

struts2国际化---配置国际化全局资源文件并输出国际化资源信息

我们首先学习怎么配置国际化全局资源文件,并输出资源文件信息 1.首先struts2项目搭建完成后,我们在src目录下,即struts2.xml同级目录下创建资源文件,资源文件的名称格式为: XXX_语言_国家.properties XXX:资源文件名称,可以随意定义 语言.国家:必须是java所支持的语言和国家,例如: 中国大陆:语言   zh   国家  CN 美国:语言  en   国家 US 所以我们可以这么取名: 例如:itheima_zh_CN.properties itheima_e