博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Resources嵌入资源文件的使用

Posted on 2010-12-27 15:27  星尘的天空  阅读(1033)  评论(0编辑  收藏  举报

Resources 资源文件的使用问题

开发环境:c#,windows form

后缀文件名称为.resources的文件,是一个资源文件,用来存放字符串、图片等资源,然后再程序中读取使用,其中,文件内的图片是使用二进制文件格式存放的。

问题一:如何创建用来存放字符串的资源文件

添加命名空间:using System.Resources;

定义一个函数,然后添加如下的代码

// D:\myResources.resources  为创建的文件存放的地点,代码执行完毕后,我们就可以在这里找到文件

IResourceWriter writer = new ResourceWriter(@"D:\myResources.resources");

//向资源中添加字符串资源

writer.AddResource("String1", "First String");

writer.AddResource("String2", "Second String");

writer.AddResource("String3", "Third String");

writer.Generate();

//添加写入流,释放资源

writer.Close();

//代码执行到这里,已经成功的创建的了一个由字符串组成的文件。

问题二:读取resources资源文件中字符串资源

1) 将文件添加到工程中

2) 然后打开文件的属性对话框

将Build Action属性修改为:Embedded Resources,表示将该文件编译成为嵌入式资源

3) 编写代码读取资源中的字符窜资源文件

System.Resources.ResourceManager rm = new

// WindowsFormsApplication1为应用程序的名称,myResources是我们创建的字符串资源的名称

ResourceManager("WindowsFormsApplication1.myResources",Assembly.GetExecutingAssembly());

//String1 是字符串资源的名称,相当于一个字符串键值对的key的值。

 string tt = rm.GetString("String1");//tt就是stiring1字符串显示的内容。

问题三:创建图片资源

执行下面的代码,装载图片资源

//@"D:\myResources.resources" 指定创建的资源文件存放的位置

IResourceWriter writer = new ResourceWriter(@"D:\myResources.resources");

//指定加载的资源文件存放的位置

Image img = Image.FromFile(@"F:\Picture\1.jpg");

//写入资源

writer.AddResource("pic1", img);

img = Image.FromFile(@"F:\Picture\2.jpg");

writer.AddResource("pic2", img);

img = Image.FromFile(@"F:\Picture\3.jpg");

writer.AddResource("pic3", img);

//生成资源

writer.Generate();

//关闭写入流,释放系统资源

writer.Close();

问题四:读取资源文件中的图片

System.Resources.ResourceManager rm = new

// WindowsFormsApplication1应用程序的名称,

// BitmapResources为存放图片资源的文件扩展名称为:.resources文件的名称。

ResourceManager("WindowsFormsApplication1.BitmapResources",Assembly.GetExecutingAssembly());

//读取名称为pic1图片文件

this.pictureBox1.Image = (Bitmap)rm.GetObject("pic1");