现在的位置: 首页 > 综合 > 正文

【转】Resource与Resx的区别

2012年12月06日 ⁄ 综合 ⁄ 共 1218字 ⁄ 字号 评论关闭

ResourceWriter生成二进制资源文件,文件的后缀名为.resources,而ResxResourceWriter编写生成基于XML的资源文件,文件的后缀名为.resx

 

1、  生成资源文件

//Bin目录下生成名为demo.resx的资源文件

ResXResourceWriter rrw = new ResXResourceWriter("demo.resx");

Image image = Image.FromFile(@"F:\Personal\Icons\WebIcon\webicon\001.gif");

rrw.AddResource("ApplicationTitle", "欢迎来到我的应用程序");

rrw.AddResource("testimage", image);

rrw.Generate();

rrw.Close();

 

//Bin目录下生成名为demo.resources的资源文件

ResourceWriter rw = new ResourceWriter("demo.resources");

Image image = Image.FromFile(@"F:\Personal\Icons\WebIcon\webicon\001.gif");

rw.AddResource("ApplicationTitle", "欢迎来到我的应用程序");

rw.AddResource("testimage", image);

rw.Generate();

rw.Close();

 

2、  将资源文件添加到工程中,类型为"嵌入的资源"

 

3、  读取嵌入式资源

// WindowsApplication1是类的名称空间,demo是资源的文件名

ResourceManager rm = new ResourceManager("WindowsApplication1.demo", this.GetType().Assembly);

string test = rm.GetString("ApplicationTitle").ToString();

Image image = (Image)rm.GetObject("testimage");

this.pictureBox1.Image = image;

 

// demo是资源的文件名

ResourceManager rm = new ResourceManager("demo", this.GetType().Assembly);

string test = rm.GetString("ApplicationTitle").ToString();

Image image = (Image)rm.GetObject("testimage");

this.pictureBox1.Image = image;

 

更复杂的资源文件,参考“如何在C#中使用内嵌资源文件”:http://www.csdn.net/develop/read_article.asp?id=15571

抱歉!评论已关闭.