WINFORM 如何利用代码动态把资源加入到resources.resx

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WINFORM 如何利用代码动态把资源加入到resources.resx相关的知识,希望对你有一定的参考价值。

点击确定按钮后,把捕获到的路径下的资源用代码动态添加到resources.resx中

在 VS 中添加的资源文件不能在运行时修改是只读的,读取该资源文件中的数据代码如下(生成操作必须是“嵌入的资源”):
ResourceManager rm = new ResourceManager(typeof(Resource1)); // typeof 里面是资源的名称,不要加 resx 扩展名,不要加双引号
string value = rm.GetString("关键字"); // 获取字符串类型的资源数据
object obj = rm.GetObject("关键字"); // 获取对象类型的资源数据(如:图片,需强制类型转换)
Stream stream = rm.GetStream("关键字"); // 获取流类型的资源数据(如:文件)

要创建可读写的资源,必须通过代码来完成,操作资源的代码,会在磁盘生成一个资源文件,通常使用扩展名是 resources 类型(扩展名有程序员定义),代码如下:
ResourceWriter rw = new ResourceWriter("资源文件的名称.resources");
rw.AddResource("aaaa", "1345"); // 添加数据
rw.Generate(); // 保存
要读取磁盘上的资源文件,请使用 ResourceReader 类,由于比较简单这里就不贴出代码了,详细可以参考 MSDN 文档
参考技术A ResourceWriter rw = new ResourceWriter("Faces.resources");
Image newFace = Image.FromFile(@path);
rw.AddResource("NewFace1", newFace);
rw.Generate();
rw.Close();*/

/*将资源包里的资源取出放到预览框里
ResourceManager rm=new ResourceManager ("Faces",this.GetType().Assembly);
Image image=(Image)rm.GetObject("NewFace1");
picView.Image = image;*/本回答被提问者采纳

以上是关于WINFORM 如何利用代码动态把资源加入到resources.resx的主要内容,如果未能解决你的问题,请参考以下文章

求教在delphi中,如何把两个exe做为res加入到另一个exe中,并在运行时释放两个exe

动态加载DLL

求教在delphi中,如何把两个exe做为res加入到另一个exe中,并在运行时释放两个exe

C# 用IrisSkin4.dll美化你的WinForm

C# 用IrisSkin4.dll美化你的WinForm

怎么将.jpg .bmp .gif 图片转换成 iso exe res dll 等格式?