在.net中创建并使用资源文件(2)
我们继续资源文件使用的学习,将上次生成Skines.resx文件(在\bin\Debug目录下)Copy到要使用资源的Project的根目录下,然后在Visual Studio的Solution Explorer中点击一下上方的"Show All Files"按钮,就能在项目下见到Skins.resx。
在Skins.resx中点右键选择"Include In Project"见Skins.resx增加到项目中。这时候,我们已经将资源增加到了项目中,到底怎么使用它呢?其实超简单,下面我们就解释其用法:
(这里假定我们的项目名称为"SarchPMS",为什么叫SarchPMS?因为我真在做它咯。)
首先,我们在Form1的构造函数中加入以下代码:
注意要引用
这两个命名空间。这时候你看到了吧,只需要两句话就完成了资源文件对象的提取。然后用GetString方法提取相应的字符串。如果要提取资源文件中的图片资源,则使用以下语句:
在Skins.resx中点右键选择"Include In Project"见Skins.resx增加到项目中。这时候,我们已经将资源增加到了项目中,到底怎么使用它呢?其实超简单,下面我们就解释其用法:
(这里假定我们的项目名称为"SarchPMS",为什么叫SarchPMS?因为我真在做它咯。)
首先,我们在Form1的构造函数中加入以下代码:
Assembly assembly = Assembly.GetExecutingAssembly();
ResourceManager rm = new ResourceManager("SarchPMS.Skins", assembly);
string backColor = rm.GetString("BackColor");
MessageBox.Show(backColor);
ResourceManager rm = new ResourceManager("SarchPMS.Skins", assembly);
string backColor = rm.GetString("BackColor");
MessageBox.Show(backColor);
注意要引用
using System.Reflection;
using System.Resources;
using System.Resources;
这两个命名空间。这时候你看到了吧,只需要两句话就完成了资源文件对象的提取。然后用GetString方法提取相应的字符串。如果要提取资源文件中的图片资源,则使用以下语句:
Image Acc_Search = (Image)rm.GetObject("Acc_Search");
很容易吧?就是这么简单!
需要注意一下的就是这句:
ResourceManager rm = new ResourceManager("SarchPMS.Skins", assembly);
在new ResourceManager的时候,里面的第一个参数是"当前项目的根命名空间+资源项目的根命名空间",对了。上篇文章忘说了,那篇文章的项目名称叫Skins。如果你换成了别的名字或者手动改变了命名空间,那么"SarchPMS.Skins"就要变成"SarchPMS.你定义的命名空间"。
至此,你已经可以使用资源文件了吧?当然资源文件不是只有一种,但是举一反三的事情就由得你自己去做了。查查MSDN,相信不是难事。Just do it!