因为我在前几年的时候作念过一个这么的技俩
新闻资讯

你的位置:首页-九名东仓储有限公司 > 新闻资讯 >

因为我在前几年的时候作念过一个这么的技俩

发布日期:2024-06-21 16:55    点击次数:51

因为我在前几年的时候作念过一个这么的技俩

前一段时刻有粉丝私信能不行写一篇对于言语切换的著作,emmmm,我答允了,因为我在前几年的时候作念过一个这么的技俩,是以也就不错稍许整理下写出来。

杀青这个需求,主要用到了Winform的腹地化功能;用资源文献的方法来杀青,确凿是嗅觉简便便捷。如果简便的页面,在词库备好的情况下,只需寥寥几笔即可完成。

图片

底下先容下堤防时间:

杀青功能:

Winform中英文言语切换

开发环境:

开发器具:Visual Studio 2013

.NET Framework版块:4.5

杀青时间:

在技俩前新建一个Resource文献夹,然后创建两个资源文献,永别定名为:Resource_en.resx和Resource_zh.resx

将窗体底下的控件以及Text(简略其他泄漏属性)永别对应到词库写入到资源文献中,如下图:

     

图片

       

图片

写一个腹地化欺诈的群众类 LangUtil,本色如下:

public class LangUtil    {        static ComponentResourceManager res;        public static void ApplyResource(Control control)        {            switch (Thread.CurrentThread.CurrentCulture.Name)            {                case "en-US":                     res = new ComponentResourceManager(typeof(Resource.Resource_en));                    break;                case "zh-CN":                    res = new ComponentResourceManager(typeof(Resource.Resource_zh));                    break;                default:                    res = new ComponentResourceManager(typeof(Resource.Resource_zh));                    break;            }            res.ApplyResources(control, control.Name,
哈密市星齐土特产有限公司 Thread.CurrentThread.CurrentCulture);            applyControl(control.GetType().Name,
首页-达富安机场有限公司 control);        }    //递归欺诈到控件        private static void applyControl(string topName,首页-新昌佳机场有限公司 Control control)        {            foreach (Control ctl in control.Controls)            {                res.ApplyResources(ctl, topName + "." + ctl.Name, Thread.CurrentThread.CurrentCulture);                if (ctl.HasChildren)                {                    applyControl(topName, ctl);                }            }        }    }

点击切换对应言语的时候,农机具赋值到对应的数据

  private void 英文ToolStripMenuItem_Click(object sender, EventArgs e) {     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us");       //径直欺诈到对应的form     LangUtil.ApplyResource(this); } private void 汉文ToolStripMenuItem_Click(object sender, EventArgs e) {     Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-cn");      //径直欺诈到对应的form      LangUtil.ApplyResource(this); }

完成

诚然,以上是相比简便的杀青,欺诈到技俩中的话,就需要筹商到各式控件的不同属性的赋值问题了,是以需要对应的写代码来杀青,然而王人不错基于这一个旨趣去作念。

如果动态数据的话,不错径直建设两套词库对应到数据库,把柄聘请加载不同的词库。

另外,为了便捷一些可爱径直看源码的一又友,我写了个小Demo放到网盘上了,可径直私:Winform多言语切换 取得,杀青恶果如下:

图片

由简入繁,拿来即用

后续精彩农机具,抓续温雅

本站仅提供存储劳动,通盘本色均由用户发布,如发现存害或侵权本色,请点击举报。

上一篇:交银海外为其独家保荐东谈主

下一篇:没有了

友情链接:

Powered by 首页-九名东仓储有限公司 @2013-2022 RSS地图 HTML地图

Copyright 站群系统 © 2013-2024 <"SSWL"> 版权所有