在C#中如何使用资源的方法
总结一个在C#中如何使用资源的方法:
一:使用本地文件
1、将本地要加入的资源文本(视频,图片,文本或其它)加入项目,比如我们现在加入一个up.bmp的图片到项目中,且放在文件夹Resources下面,
2、将up.bmp的生成操作设置为"嵌入的资源"
3、读取资源:
Assembly assembly = Assembly.GetEntryAssembly();
//不知为什么,上面的有时候不行,可以这样写: Assembly assembly = this.GetType().Assembly;
System.IO.Stream stream = assembly.GetManifestResourceStream("OutlookBar.Resources.up.bmp");
//OutlookBar表示命名空间,Resources表示文件夹名称;
//如查直接放在项目的根目录下,则写为: assembly.GetManifestResourceStream("OutlookBar.up.bmp");
Bitmap upImage = (Bitmap)Image.FromStream(stream);
第二种方法:新建一个.resx文件(TestProject.resx),直接加入up.bmp文件,
读取方法: Bitmap upImage = TestProject.up;
第三种方法:单独建一个资源文件来存储up.bmp文件
1:将写入:
if (!File.Exists("TestProject.resources"))
File.Create("TestProject.resources").Dispose();
using (IResourceWriter rw = new ResourceWriter("TestProject.resources"))
{
Image img = Image.FromFile(@"D:\up.bmp");
rw.AddResource("up.bmp", img);
rw.Close();
}
2、读取文件
using (ResourceSet rs = new ResourceSet("TestProject.resources"))
{
var image = (Bitmap)rs.GetObject("down.bmp");
pictureBox1.Image = image;
rs.Close();
}
NET的资源并不限于.resx文件,可以采用任意存储形式
:具体见 http://www.cnblogs.com/artech/archive/2010/12/16/Reource_framewok_01.html