如何使用资源.动态更新,动态添加新项

本文关键字:动态 添加 新项 更新 资源 何使用 | 更新日期: 2023-09-27 17:50:16

谁能告诉我如何在'资源'中添加资源(图像,字符串等)?动态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文件。下面的代码是这样工作的,它能够将image(作为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()。我认为通过关闭资源流,可以强制将其写入磁盘。
您可以通过预览文件(我的)来确保它在那里。