.Net中对资源文件的控制可以通过System.Reflection中所对应的类实现,我在这里跟大家介绍一个使用System.Reflection.Assembly获取集成在程序当中的图片资源的方法。
首先你需要在你的项目中添加入一个图片,方法如下:在“项目”菜单下,点击“添加现有项”,然后将文件类型筛选下拉框选择为“所有文件(*.*)”,现在可以选择一个你要加入到资源中的图片了。加入之后你会在“解决方案资源管理器”中,看到你刚刚加入的那张图片,点击这个图片你会看到“属性栏”中有一个“生成操作”的属性,将其设置为“嵌入的资源”。这样,我们就完成了一张图片资源的嵌入。
下面就开始我们的代码了:
Dim Ress As System.Reflection.Assembly
Dim ResStream As IO.Stream
Dim Img As Drawing.Image
Ress = System.Reflection.Assembly.GetExecutingAssembly()
ResStream = Ress.GetManifestResourceStream("你的项目名.你的图片的名称包括扩展名")
Img.FromStream(ResStream)
OK,到这里为止Img中就是我们从程序中获得的图片资源。
可能有的朋友要问了,这样做有什么意义吗。举个小例子,如果你想做一个可以扩展的更换皮肤的程序,你可以事先将程序的皮肤文件嵌入在一个DLL中,在这个DLL中定义相应的接口类,将嵌入的图片传递给调用的程序,在以后的升级过程中只要对这个DLL中的图片进行修改就可以,这样做不是很好吗?还有很多资源文件的知识,我会在以后和大家继续研究的。