您的位置:首页 > 编程语言 > C#

C#的嵌入式资源生成与访问

2014-04-10 10:07 197 查看
1、手动嵌入式资源

右键工程-添加-现有项-图片或者文本

点击图片或者文本-生成操作-嵌入的资源 //这一步非常重要

这样添加的图片或者文本就打包到exe中

可以这样访问:

Assembly assembly = GetType().Assembly;

System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.event.jpg"); 

//当作为一个资源被嵌入后,资源的完整名称会由项目的默认命名空间与文件名组成

Bitmap BackgroundImg = new Bitmap(streamSmall);

pictureBox1.Image = BackgroundImg;

Assembly assembly = GetType().Assembly;

System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.NewFolder1.TextFile1.txt");

StreamReader sr = new StreamReader(streamSmall);

string text = sr.ReadToEnd();

MessageBox.Show(text);

2、手动非嵌入式资源

右键工程-添加-现有项-图片或者文本

点击图片或者文本-生成操作-内容  //如果不进行任何操作,默认就是非嵌入式资源

这样添加的图片或者文本就打包到exe中

可以这样访问:

通过绝对路径和相对路径作为外部资源访问

/////////////////////////////////////////////

3、.net提供的访问嵌入式资源

Resources.resx,Form1.resx怎么使用?  //只需要添加,不用任何操作,默认就是嵌入式资源

每创建一个窗体就会自动生成一个.resx文件,可以在这个文件中加入字符串、图像、图标、文件等。 

项目编译时,生成exe文件,这些图像、图标、文件等都会被写入 exe 文件中。 

每一个窗体都有一个资源文件,并且项目有一个共用的资源文件,最好使用这个共用的资源文件,查看项目属性里,选中资源,

就可以加入自己要的资源 添加资源 - 添加现有文件,就可以反图片资源放进入。 

读取这个图片资源,如已经加入了一个 a.bmp 图像,名称是 Pic 

Bitmap bitmap = 项目的名称空间.Properties.Resources.Pic; 

这就可能用了这个资源了。 

具体的类位于,Properties目录中的 Resources.resx 文件中,打开看下就明白了。 

资源文件也可以自己创建,像创建类一个。

这种嵌入式资源访问方式是.net内部提供的方式,与访问app.config方式类似,都是.net内部提供,当然也可以使用1自己手动创建
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  嵌入式