如何创建 resx 文件

Posted

技术标签:

【中文标题】如何创建 resx 文件【英文标题】:How to create resx files 【发布时间】:2018-02-06 06:48:25 【问题描述】:

我正在尝试在 Windows 窗体应用程序中使用图标。我读到您可以使用 resx 文件来执行此操作。 (我还读到 resx 文件可用于本地化,但这不是这个问题的重点)

我或多或少知道如何使用如果我有一个 resx 文件(见下文)。我不知道也找不到任何地方是如何创建这些 resx 文件(我知道这些文件已经是什么了)

谁能教我如何创建一个 resx 文件来保存图标信息

目标是在我的项目中有一个“resource.resx”文件,其中包含有关“myicon.ico”文件的数据。


我打算在

中使用它
ResourceManager rm = new ResourceManager("resource", 
                           typeof(Resource).Assembly);
Object ret= rm.GetObject("something");
if(ret!=null && ret is Icon)
  return (Icon)ret;
else
  return null;

请不要将我指向this link,因为我已经阅读了它并且找不到执行我要求的实用方法。

【问题讨论】:

【参考方案1】:

假设您使用的是 Visual Studio:

    右键单击您的项目 选择添加 |新项目 选择资源文件 给它一个名字(例如Resources) 点击添加 您现在将在您的项目中使用您提供的名称拥有一个资源文件,并且它应该会自动打开资源编辑器。如果没有,请在项目中双击它。 在编辑器的左上角,点击“Strings v”下拉菜单并选择“Icons”。 将您的图标拖到此屏幕中。 将其重命名为您想要的任何名称(例如something)。

如果您将资源文件命名为“Resources”,您应该可以像这样访问该图标:

Object ret = Resources.ResourceManager.GetObject("something");
if (ret != null && ret is Icon)
    return (Icon)ret;
else
    return null;

【讨论】:

以上是关于如何创建 resx 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个 EXE 中嵌入多语言 *.resx(或 *.resources)文件?

如何继承资源文件(resx)

如何对 . .NET 中的 resx(资源文件)

从 XAML 中的 *.resx 文件中获取值

更改资源文件 (resx) 命名空间和访问修饰符

C#:使用包含法语字符的值创建资源文件