C#多语言界面的设置

本文介绍了C#中Winform应用如何设置多语言界面。通过利用Resources.resx资源文件,可以采用两种方法实现:一是将不同语言字符串放在同一资源文件中,使用前缀标识;二是创建不同语言的资源文件,如Resource1、Resources2等。文章还讨论了不同方法的优缺点,包括内存占用和加载速度,并展示了如何在代码中切换界面语言。
摘要由CSDN通过智能技术生成

对于C#中的Winform程序,项目会自动在properties文件夹下添加Resources.resx资源文件,并创建一个Resources类来管理资源。

当我们想让界面有多种语言时,其实就是让界面的菜单或是按钮显示不同的文字,即设置它们的Text属性,为此有2种方法:

 

第一种,将所有的不同语言的字符串放在同一个Resources.resx资源文件中,不同的语言用不同的前缀标识,如enFileName为 “file",

而zhCHSFileName则为 ”文件“,然后在要切换为英语的地方如下设置:fileStripMenuItem.Text = rm.GetString("enFileName");

而在要切换为中文的地方这样设置:fileStripMenuItem.Text = rm.GetString("zhCHSFileName");

这样的缺点是重复的类似代码很多,特别是语言种类很多或是需要不同语言的地方很多时。

 

第二种,将不同的语言的字符串放在不同的资源文件中,这时也分为两中情况:

1)创建多个Resources类,如Resource1、Resources2等,去分别对应不同的语言字符串资源,这些资源文件将作为嵌入的资源直接

写入exe可执行文件中,这样导致了不需要的其他语言的字符串也加载了,浪费内存。

2)对应于Form1类(继承自Form类)其有一个默认的Form1.resx资源文件,这时我们可以在与同样Form1.resx的位置按规定的命名

规则添加其他语言的资源文件,如Form1.zh-CN.resx、Form1.en

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值