博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 实现多语言界面
阅读量:2065 次
发布时间:2019-04-29

本文共 955 字,大约阅读时间需要 3 分钟。

建立一个存放语言的XML文件

循环遍历界面上的控件。

       private void getLanguage(string LanguageCode)

        {
            string FileName;
            FileName = Application.StartupPath + @"\Resource\Localization\Language.xml";
            XmlDocument doc = new XmlDocument();
            doc.Load(FileName);
            XmlNodeList nodes = doc.GetElementsByTagName("item");
            for (int i = 0; i < nodes.Count; i++)
            {
                //获得将当前元素的key属性      
                XmlAttribute att = nodes[i].Attributes["key"];
                XmlAttribute att1 = nodes[i].Attributes[LanguageCode];                
                foreach (Control FrmControl in this.Controls)
                {
                    if (FrmControl is GroupBox)
                    {
                        GroupBox gbControl = FrmControl as GroupBox;
                        foreach (Control subControl in gbControl.Controls)
                        {
                            if (att.Value == subControl.Name)
                            {
                                subControl.Text = att1.Value;
                            }
                        }
                    }
                    if (att.Value == FrmControl.Name)
                    {
                        FrmControl.Text = att1.Value;
                    }
                }
            }
        }

通过用户点击菜单实现语言切换

        private void tsmiSimplifiedChinese_Click(object sender, EventArgs e)

        {
            getLanguage("zh-CN");
        }
        private void tsmiEnglish_Click(object sender, EventArgs e)
        {
            getLanguage("en");
        }

你可能感兴趣的文章
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
被废弃的dispatch_get_current_queue
查看>>
什么是ActiveRecord
查看>>
有道词典for mac在Mac OS X 10.9不能取词
查看>>
关于“团队建设”的反思
查看>>
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>
ExecutorService 线程池 newFixedThreadPool newSingleThreadExecutor newCachedThreadPool
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>