C# 如何从多个资源文件中获取相同的变量

C# 如何从多个资源文件中获取相同的变量,c#,.net,resx,multiple-languages,C#,.net,Resx,Multiple Languages,我正在开发一个关于使用多种语言的小项目 我有三个资源文件 MainForm.resx//默认版本=>英语 MainForm.US.resx//英文版 我定义 MainForm.JP.resx//日文版 我定义 我想获取每个变量的值(btnCancel、btnLogin、lbPassword、lbUsername等) 现在,我知道了 从MainForm.US.resx,我构建到MainForm.US.designer.cs(MainForm_US类) 从MainForm.JP.resx,我构

我正在开发一个关于使用多种语言的小项目

我有三个资源文件

  • MainForm.resx//默认版本=>英语
  • MainForm.US.resx//英文版
  • 我定义

  • MainForm.JP.resx//日文版
  • 我定义

    我想获取每个变量的值(btnCancel、btnLogin、lbPassword、lbUsername等)

    现在,我知道了

    • 从MainForm.US.resx,我构建到MainForm.US.designer.cs(MainForm_US类)
    • 从MainForm.JP.resx,我构建到MainForm.JP.designer.cs(MainForm_JP类)
    • 我将另一个类设置为MainFormResource.cs。在这里,我将检查Thread.CurrentThread.CurrentUICulture.Name值
    • 如果等于“ja JP”,则我从MainForm.JS.designer.cs(MainForm_JP类)获取值

    • 如果等于“en-US”,则从MainForm.US.designer.cs(MainForm_-US类)获取值

    但是如果我的项目很大,我需要更多的时间来完成

    如何获取lbUsername、lbPassword等的值


    p/s:我在Visual Studio Ultimate 2012中使用Windows窗体应用程序

    创建RESX文件时,您只需要激活根文件(在您的情况下是MainForm.RESX)上的自动代码生成

    Visual Studio将生成包含使用
    ResourceManager
    的代码

    附属部件也将自动生成


    正如NightOwl888已经提到的,您应该阅读有关使用.NET的Resx文件和/或本地化功能的文档

    您是否尝试过阅读?谢谢@NightOwl888,但我的应用程序使用winform。谢谢您的分享。但是文档的NightOwl888与ASP.NET的结合使用看看这一点,它应该可以解决您的一般问题。Re:“附属程序集也将自动生成。”根据我(有限的)附属程序集的经验,情况并非如此。在您的解决方案中,每个附属程序集必须有一个项目。不,包含每个区域性(de、en、en US等)资源的附属程序集将自动生成。再次使用Thansk@RobinGüldenpfennig。这对我很有用(上面的评论+1)