1

来自 MSDN 的关于国际化的示例 ( http://msdn.microsoft.com/en-us/library/aa330254%28VS.71%29.aspx ) 对我不起作用。我用过这个片段

ResourceManager rm = new ResourceManager("Resources.Form1", this.GetType().Assembly);
this.Text = rm.GetString("this.Text");

但抛出了与第一行相关的以下异常: System.Resources.MissingManifestResourceException 我需要知道为什么 ResourceManager 构造函数的第一个参数不好。我也尝试过“Form1”。资源文件名为 Form1.it-IT.resx 或 Form1.en-GB.resx 等。谢谢你的帮助

4

2 回答 2

1

如果要使用资源中的字符串,可以执行以下操作:

  1. 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。

  2. 单击资源选项卡。在资源设计器工具栏上,指向资源视图下拉菜单,单击箭头,并确保将其设置为字符串(这是默认设置)。将出现一个设置网格,显示由该资源设计器实例维护的字符串。

  3. 单击网格中最后一行的名称列,该列标有星号 (*)。

  4. 在名称列中,输入字符串的名称。

  5. 在值列中,输入要用作资源的字符串。
  • 在运行时获取资源:

    this.Text = MyNamspace.Properties.Resources.StringResourcesName;

另一种方法是按照此链接中的说明进行操作

于 2013-05-22T09:40:21.450 回答
1

您需要一个默认资源文件,将 Form1.en-GB.resx 重命名为 Form1.resx 这将是默认的,如果cultureinfo 是 IT,资源管理器将首先查看 Form1.it-IT.resx 文件,然后在如果在 it-IT 版本中找不到密钥,则 Form1.resx 文件。

于 2013-05-22T09:41:08.667 回答