Winform应用的多语言设置

摘要:
VS提供了一种为应用程序设置多种语言的简单方法——resx文件。具体操作步骤如下。1.首先创建一个新的Winform项目,向其添加控件,并命名它。2.将Form1的Localizable属性设置为true。设置此属性后,。net将根据不同的语言为应用程序生成不同的资源文件(resx文件)。3.将Form1的Language属性修改为要设置的Language。4.修改每个控件的名称,步骤3后将自动创建文件“For”

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

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

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

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

Winform应用的多语言设置第1张

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

Winform应用的多语言设置第2张

也可以在文件中修改名称

Winform应用的多语言设置第3张

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";
    }

测试结果如下:

Winform应用的多语言设置第4张

免责声明:文章转载自《Winform应用的多语言设置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[加密]非对称加密STM32实现eclipse 升级note下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

桌面程序开发入门(WinForm with C#)

1、使用Visual Studio 2013创建新项目 2、创建一个主窗体和4个子窗体 3、创建一个数据库、一个表、一个存储过程 4、在配置文件里添加数据库连接字符串 5、真正的编码工作。 第一步:创建新项目,一张图片抵一万字!看图说话,呵呵。。 第二步:创建4个子窗体,名称分别是formCommandProc.cs、formDataAdapterPr...

C# WINFORM 编程中,选择**文件夹**而不是文件的方法(转)

 我们选择文件可以用 OpenFileDialog ,但是文件夹有两种方法。 法一:    用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能。下面来看看具体是怎么实现的。  首先新建一个winform的项目,再新建一个类文件(File->AddNewItem->Class)。 因为Fo...

C# WinForm 文件上传下载

/// <summary> /// WebClient上传文件至服务器 /// </summary> /// <param name="fileNamePath">文件名,全路径格式</param> /// <param name="uriString">服务器文件夹路径</...

winform里面打开网页(转)

 首先,新建一个winform项目,我在想,如果想要实现打开网页功能的话,应该会有一个控件什么之类的吧?查了工具栏,真的有一个名叫 WebBrowser的家伙,应该就是这货没错了。在网上查了它的资料更加坚定了我的判断,二话不说,拖进Form里。接着,就是要显示一个网页了,要怎 么实现呢?继续查看WebBrowser都有啥属性和方法: 方法 说明  ...

WinForm界面布局空间WeifenLuo.WinformUI.Docking

最近在学习Sharpdevelop的过程中,看到了使用的很好的winform页面布局控件,感觉非常的不错。实现效果如下所示:  这里我就简单的下一下他的实现步骤,当中我也看考了其他人的博客。  1) 创建一个windows Form的应用程序 2) 添加引用:WeifenLuo.WinFormsUI.Docking他是一个DLL文件,可以自行从网络上下载...

怎样能使winform窗体的大小固定住,不能调整其大小

窗体FormBorderStyle属性设置为:FixedSingle,再把最大化禁用就可以了 使用.Net编写Windows程序,对于窗体控制常见项目 属性:1、让窗体在启动时在指定位置出现 form1.StartPosition Manual CenterScreen WindowsDefaultLocation (default) Window...