【问题标题】:How to add/edit project resources from within the code in C#?如何从 C# 代码中添加/编辑项目资源?
【发布时间】:2013-07-26 13:32:39
【问题描述】:

我想从代码中添加或编辑我的 C# 项目资源。例如,我在项目资源中有一个名为 myString 的字符串。现在我想改变这个字符串的值:

MyProject.Properties.Resources.myString = "NewStringValue";

但是编译器给出了这个属性是只读的错误。我还想通过浏览图像并将其添加到项目资源中来添加图像。 知道我该怎么做吗? 提前致谢。

P.S:我使用的是 Windows 窗体。

【问题讨论】:

  • 你想更新资源文件中的值吗?
  • 你拥有的属性mystring是一个应用程序属性,在设置中将其更改为用户,然后你就可以编辑它了。
  • 对不起,我误读了您的问题。项目资源在编译时加载,不能在运行时修改,那么就没有性能优势:P。资源可以加载到内存中并在项目中使用,为什么要通过项目资源来做到这一点?也许您可以在编译时加载您可能需要的所有资源,并在运行时决定使用哪些资源。
  • @MrFox 谢谢你的回答。我想我现在明白了。
  • 我的项目中有多个表单,每个表单都有一个图片框,我想给用户一个浏览jpeg文件并上传的选项。所有形式的每个图片框都必须能够访问该 jpeg 图像。此外,jpeg 应该是默认图片框图像,以便在下一次运行应用程序时,上传的图像应该出现在图片框中。

标签: c# string image resources resourcedictionary


【解决方案1】:

项目 -> 属性 -> 资源 -> 打开 resx 文件 -> 选择图像。在那里您可以看到项目中的图像。 您可以通过将新图像拖到该区域来添加它们。

此代码将存储选择的图像并在启动时加载最后存储的图像。 您可能需要将其设为 Observable 或执行某些操作以使所有 PictureBox 更新其图像。

public class DefaultPicture
{
    private static string settings = "picture.settings";

    private System.Drawing.Bitmap image = new Bitmap(settings);

    public Bitmap Image
    {
        get
        {
            return this.image;
        }
        set
        {
            this.image = value;
            this.image.Save(settings);
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多