zoukankan      html  css  js  c++  java
  • [源码]用c#创建支持多语言的应用程序

    点击下载源代码



    互联网无国界,越来越多的应用程序必须面对全球用户了,如何设计一个支持多国语言的应用程序呢?

    在.net2.0 中,m$ 为我们提供了一种简单方便的方法, 使用资源文件

    1.新建一个 Winform 应用程序, 新建一 Form ,名为 Form1,添加两个按钮 btnChinese, btnEnglish
    2. 设置 Form1 的 Localizable 属性为 true, 设置该属性后,.net 将根据不同的语言,为应用程序生成不同的资源文件
    3.设置各个控件的文本(系统默认语言下)
    4.更改 Form1 的 Language 属性为想要支持的另一种语言,此例中我们选用 English
    5.重新设置各个控件的文本
     注:此时.net 将为 Form1 生成另一个资源文件,在本例中名为 Form1.en.resx
    6. 如果有其它的语言要设置,请重复第4,第5步
    7.编写代码 
    private void btnChinese_Click(object sender, EventArgs e)
            
    {
                
    //更改当前线程的 CultureInfo
                
    //zh-CN 为中文,更多的关于 Culture 的字符串请查 MSDN
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("zh-CN");
                
    //对当前窗体应用更改后的资源
                ApplyResource();
            }


            
    private void btnEnglish_Click(object sender, EventArgs e)
            
    {
                
    //更改当前线程的 CultureInfo
                
    //en 为英文,更多的关于 Culture 的字符串请查 MSDN
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
                
    //对当前窗体应用更改后的资源
                ApplyResource();
            }

            
            
    /// <summary>
            
    /// 应用资源
            
    /// ApplyResources 的第一个参数为要设置的控件
            
    ///                  第二个参数为在资源文件中的ID,默认为控件的名称
            
    /// </summary>

            private void ApplyResource()
            
    {
                System.ComponentModel.ComponentResourceManager res 
    = new ComponentResourceManager(typeof(Form1));
                
    foreach (Control ctl in Controls)
                
    {
                    res.ApplyResources(ctl, ctl.Name);
                }

            }
    大致的代码就完成了,此时点击 “中文”按钮,画面切换为中文,点击“英文”按钮,画面立即切换为英文
  • 相关阅读:
    App.config使用ASP.NET Web Project的Transformation模式编译方式
    简易扩展Visual Studio UnitTesting支持TestMethodCase
    Microsoft Unity ---- 系列文章
    Reflector 7.0.0.420 注册破解版
    在Vue前端界面中,几种数据表格的展示处理,以及表格编辑录入处理操作。
    基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
    在Vue前端项目中,附件展示的自定义组件开发
    在Vue&Element前端项目中,对于字典列表的显示处理
    kestrel对接elasticsearch踩坑记
    华为智慧安平解决方案——安防视频监控是核心
  • 原文地址:https://www.cnblogs.com/michaelhuwei/p/771954.html
Copyright © 2011-2022 走看看