vs中的资源管理
写程序时经常要给程序设置各种素材资源,虽然一直使用,却是一直不知其所以然。今天偶然才发现其中的小秘密,赶紧记录下来,以备学习之用。
以给一个Button按钮设置Image属性为例,会弹出以下对话框要求选择资源。
对话框中有两个选项,即:本地资源 和 项目资源文件。
项目资源文件这个还好理解一些,在当前窗体所在项目中,有一个Properties文件夹,下面有一个Resources.resx文件,我们
导入的资源文件就保存到那里,双击Resources.resx文件就可以查看和管理我们导入的项目资源图标。[实际上他管理的应该是
一套索引,因为默认情况在实际的文件目录下,导入的图片是放在项目下面的一个叫Resources的文件夹中,这个文件夹与Properties
并列放在当前项目文件夹中,程序通过索引找到并加载这些图片——这里纯属猜想,还有一个Resources.Designer.cs文件,我还没有细看
里面的内容。]
上面这些还好理解,问题在于还有一个本地资源,它导入的图片素材是放在了什么地方呢,找了半天发现在当前窗体下有一个[当前窗体类名.resx]
文件,原来以本地资源方式导入的图片就放在这里。可以打开查看和管理图片,还可以查看他的xml代码。
好了,那么这两种方式有什么区别呢?
根据目前我的理解,它们本质上没有什么太大的区别。项目资源文件是由项目统一的文件夹进行管理,其中的图片素材可以为不同的控件重复使用;
本地资源文件是由当前窗体自己管理,导入的时候会根据使用图片的控件自动给图片命名,别的窗体没有办法使用,甚至同一个窗体上的不同的控
件都没有办法重复使用,但是它把图片代码化了,管理起来比较方便,不会因为删除图片引起错误。所以我认为如果一个素材在窗体中重复使用的
多,就可以以项目资源文件的方式导入,如果少就可以以本地资源的方式导入。