1.添加资源文件
在C#工程文件中右击->属性,打开界面如下图所示,然后选中
资源
选项,将需要的图片、文件等复制进来,并保存。
打开工程文件下Properties,然后再打开Resources.resx,并双击Resources.Designer.cs
在Resources下可以看到生成如下的代码:
internal static System.Drawing.Bitmap GREEN {
get {
object obj = ResourceManager.GetObject("GREEN", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
internal static System.Drawing.Bitmap RED {
get {
object obj = ResourceManager.GetObject("RED", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
internal static System.Drawing.Bitmap rowicon {
get {
object obj = ResourceManager.GetObject("rowicon", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
这样就可以直接在C#文件中使用:
如读取图片时:this.Fan_Image.Image = Properties.Resources.RED;
1.添加资源文件在C#工程文件中右击->属性,打开界面如下图所示,然后选中资源选项,将需要的图片、文件等复制进来,并保存。打开工程文件下Properties,然后再打开Resources.resx,并双击Resources.Designer.cs在Resources下可以看到生成如下的代码:/// <summary> /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// </summary>
上次将小软件的线程池描述了,也将插件程序描述了,这次就将里面的资源文件相关的内容进行下记录,这里能够让程序做成国际化的形式(即多语言程序),主要就是通过这个资源文件的方式进行的处理。下面将对这个资源文件的定义进行描述,比网上的其它例子更能够具有代码复用意义。
一、 项目目录;
下图是项目目录,上面是资源文件类库,下面是应用程序。从资源文件库中可看到,我们定义了4个资源文件类...
var tempDir = Guid.NewGuid().ToString();
System.IO.Directory.CreateDirectory(tempDir);
// 提取程序资源中的文件
var ass = System.Reflection.Assembly.LoadFile(@"C:\Program Files (x86)\Apowersoft\ApowerMirror\ApowerMirror.
Dotnet中嵌入资源(位图、图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Stream。另一种方法是在项目中加入. resx资源文件,在资源文件中添加资源,由ResourceManager类统一管理其中的资源。
下面分别详述这两种方法
一、使用GetManifestResourceStream读取嵌入资源
1、加入资源文件
直接把要嵌入到程序集的资源文件加入到项目中,可以加在项目的
Sylvan.BuildTools。资源
在C#项目中提供Json Resource文件支持。
这提供了使用resx文件在C#项目中定义资源的替代方法。 与resx相比,好处是:
可读的文件格式(尝试在没有文档的情况下从头开始编写resx xml)
生成的C#代码不会包含在项目/源代码控制中(与designer.cs文件不同)
不需要修改.csproj(添加单个resx文件将在您的csproj文件中添加约12行)
不需要Visual Studio即可运行。 (例如,resx文件在VS Code中不起作用)
引用Sylvan.BuildTools.Resources包不会为您的项目添加任何依赖关系。 该程序包在构建时运行,并将资源嵌入到您的输出程序集中,并且包括包含资源访问器的已编译代码文件。
Json资源文件使用“ .resj”文件扩展名和一个非常简单的json文档来指定资源
1:从.resources文件转到resx文件使用Resgen.exe程序进行转换,该程序位于VS的目录下resgen myResources.resources myResources.resx
2:在项目中使用已有的RESX文件
将该文件包括进项目,并在其属性中,修改其自定义工具为:ResXFileCodeGenerator,重新编译后,会自动生成一个RESX文件对应的cs文件,然后就可以使用其中的资源了
2:将现有的二进制串添加到resx文件中:
由于RESX文件为XML格式组织,可以直接用文
1、双击Resources.resx
2、选择添加的资源类型,比如图像,右边就是添加资源,添加资源时可以选择新资源,就是这此处自己编辑一个资源,也可以选择添加已经存在的资源。
3、添加完成后,出现一个Resources的文件夹
4、调用资源
1) 直接使用属性
Bitmap bmp = Properties.Resources.b7047728953b7aa0c4cde66371f8a94c;
2)使用反射
Assembly myAssem = Assembly.GetExecutingAssemb