Resources的详情见http://www.csharpwin.com/dotnetspace/10957r3991.shtml
1.create
public static void Main()
{
ResourceWriter rw = new ResourceWriter("My.resources");
Icon ico = new Icon("Demo.ico");
Image canceloff = Image.FromFile("cancel-off.png"); rw.AddResource("demo.ico", ico); rw.AddResource("cancel-off.png", canceloff); rw.AddResource("MyStr", "从资源文件中读取字符串!");
rw.Generate();
rw.Close();
}
2.load
static Hashtable Load(string fileName)
{
if (File.Exists(fileName))
{
Hashtable resources = new Hashtable();
ResourceReader rr = new ResourceReader(fileName);
foreach (DictionaryEntry entry in rr)
{
resources.Add(entry.Key, entry.Value);
}
rr.Close();
return resources;
}
return null;
}
自己的一个例子:
//写入资源文件内容
ResourceWriter rw = new ResourceWriter("My3.resources");
// Icon ico = new Icon("Demo.ico");
Image canceloff = Image.FromFile(@"D:\Documents\Visual Studio 2010\Projects\WebApplication1\ConsoleApplication1\bin\Debug\Application.png");
//rw.AddResource("demo.ico", ico);
rw.AddResource("Application.png", canceloff);
rw.AddResource("MyStr", "从资源文件中读取字符串!");
rw.Generate();
rw.Close(); //从资源文件里获取相应的数据
Hashtable ht =
Load(@"D:\Documents\Visual Studio 2010\Projects\WebApplication1\ConsoleApplication1\bin\Debug\My3.resources");
foreach (var VARIABLE in ht)
{
if((((System.Collections.DictionaryEntry)(VARIABLE)).Value).GetType().Name=="Bitmap")
{
Bitmap Bit = ((System.Collections.DictionaryEntry)(VARIABLE)).Value as Bitmap;
Bit.Save(@"D:\TEST.PNG", System.Drawing.Imaging.ImageFormat.Jpeg);
}
}