用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.编写代码

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

        privatevoid btnEnglish_Click(object sender, EventArgs e)
        {
            //更改当前线程的 CultureInfo
            //en 为英文,更多的关于 Culture 的字符串请查 MSDN
             Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
            //对当前窗体应用更改后的资源
             ApplyResource();
         }
        
        ///<summary>
        /// 应用资源
        /// ApplyResources 的第一个参数为要设置的控件
        ///                   第二个参数为在资源文件中的ID,默认为控件的名称
        ///</summary>
        privatevoid ApplyResource()
        {
             System.ComponentModel.ComponentResourceManager res =new ComponentResourceManager(typeof(Form1));
            foreach (Control ctl in Controls)
            {
                 res.ApplyResources(ctl, ctl.Name);
             }
         }



大致的代码就完成了,此时点击 “中文”按钮,画面切换为中文,点击“英文”按钮,画面立即切换为英文


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值