gpt4 book ai didi

c# - 如何动态使用 Resources.resx 即动态添加新项目

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:47 26 4
gpt4 key购买 nike

谁能告诉我如何在“Resources.resx”中动态添加资源(图像、字符串等)。
我需要在运行时从程序向 Resources.resx 添加一个新的位图。我使用的代码是
` ResourceWriter rw; rw = new ResourceWriter("myResources.resources");

  rw.AddResource("anImage", new Bitmap("winter.jpg"));

rw.AddResource("welcomeString", "www.java2s.com");
rw.Generate();`

但我在 Resources.resx 中什么也没找到。请告诉我如何使用 ResourceWriter。

最佳答案

您可以使用 ResourceWriter这样做,但我不建议将动态资源写入 resx 文件。相反,我会使用某种数据库(即嵌入式数据库)。

编辑无效答案

对不起,我不够准确。我的建议告诉您如何创建编译后的资源文件(扩展名为 .resources 的文件),而不是原始的 .resx 文件。以下代码的工作原理是,它能够将图像(作为 System.Drawing)写入名为 my.resources 的文件。你肯定可以用 ResourceReader 读出一个:

        DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Bitmap bitmap = new Bitmap(openFileDialog1.FileName);
IResourceWriter writer = new ResourceWriter("my.resources");
writer.AddResource("myImage", bitmap);
writer.Close();
}

看来您需要执行 Close() 而不是 Generate()。我认为通过关闭资源流可以强制将其写入磁盘。
您可以通过使用某些十六进制编辑器预览文件(即 my.resources)来确保它存在。

关于c# - 如何动态使用 Resources.resx 即动态添加新项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5686370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com