zoukankan      html  css  js  c++  java
  • Winform应用的多语言设置

    VS 提供了一种简单的方式来为应用设置多种语言——resx文件。下面演示具体的操作步骤。

    1.首先新建 Winform 项目,向其添加控件,并命名

    2.将 Form1 的 Localizable 属性设为 true, 设置该属性后,.net 将根据不同的语言,为应用程序生成不同的资源文件(resx文件)

    3.将 Form1 的 Language 属性修改为想要设置的语言

    4.修改每个控件的名称,在完成步骤3后便会自动创建文件“Form1.en-US.resx”,

    也可以在文件中修改名称

    5.如需提供其他语言,重复步骤3、4

    6.编写代码获取resx文件(GroupBox中的控件要单独遍历)

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.Text == "English")
            {
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
                ApplyResource();
            }
            if (comboBox1.Text == "Latin")
            {
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("la");
                ApplyResource();
            }
        }
    
        private void ApplyResource()
        {
            System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(Form1));
            foreach (Control ctl in Controls)
            {
                if (ctl is GroupBox)
                {
                    res.ApplyResources(ctl, ctl.Name);
                    GroupBox g = ctl as GroupBox;
                    foreach (Control item in g.Controls)
                    {
                        res.ApplyResources(item, item.Name);
                    }
                }
                else
                {
                    res.ApplyResources(ctl, ctl.Name);
                }
            }
            this.ResumeLayout(false);
            this.PerformLayout();
            res.ApplyResources(this, "$this");
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Text = "English";
        }

    测试结果如下:

  • 相关阅读:
    JS语法转换-ES6转ES5
    百度编辑器的初步使用
    github使用的小坑 处理
    关于input的检验问题
    一些代码规范(收集)
    jquery源码解析日常
    重操JS旧业第九弹:函数表达式
    重操JS旧业第八弹:面向对象与继承
    重操JS旧业第七弹:面向对象与对象创建
    重操JS旧业第六弹:基本类型包装
  • 原文地址:https://www.cnblogs.com/jizhiqiliao/p/10173352.html
Copyright © 2011-2022 走看看