Winform程序多种语言切换
文章目录
- 1.创建winform程序
- 2.新建类库 ConfigurationSettings
- 3.配置app.config文件
- 4.新建类库 StringResources
- 5.为了方便多窗体调用,将方法封装
- 6.主窗体,添加代码
- 7.Resources.resx Resources.en.resx 添加内容
- 8.LanguageConvert.Properties.Resources 添加配置
- 9.超大Bug
- 10.下载链接
1.创建winform程序
第一个窗体
第二个窗体
2.新建类库 ConfigurationSettings
从我Demo中拷贝此类库下的所有类
3.配置app.config文件
<configuration><configSections><section name="StartUpConfiguration"
type="ConfigurationSettings.StartUpConfigSection, ConfigurationSettings" /></configSections><StartUpConfiguration><Languages Default ="zh-CN" ><add Name ="en-US"/><add Name ="zh-CN"/></Languages></StartUpConfiguration>
</configuration>
如果想每次登录程序都默认英文 Default =“en-US
4.新建类库 StringResources
新建两个资源文件,一个是用来存中文,一个是用来存英文
Resources.resx
Resources.en.resx
这个文件中都是定义的内部类,内部方法,双击两个文件,将访问修饰符全部修改为 public
5.为了方便多窗体调用,将方法封装
主项目下新建文件夹 Language,新建类 LanguageManager.cs,将代码从Demo中粘贴过来
为了方便引入命名空间,主项目把之前的两个类库添加引用
System.Resources.ResourceManager _rm 实例化对象!!!!! 移动代码的时候一定要看好,第一个参数,看好你的中英文配置是否是在此项目下的资源文件中,必须是主项目名字
添加引用如下
using System.Configuration;
using ConfigurationSettings;
using LanguageConvert.Properties;
using System.Globalization;
using System.Threading;
using System.Resources;
6.主窗体,添加代码
给语言下拉菜单赋数据源
private void Form1_Load(object sender, EventArgs e)
{//LanguageConvert{this.cbxLanguage.DataSource = LanguageManager.Nativevalue;this.cbxLanguage.SelectedItem = new
CultureInfo(LanguageManager.strDefaultLanguage).NativeName;}
}
语言下拉菜单,添加代码
private void cbxLanguage_SelectedIndexChanged(object sender, EventArgs e){string value = cbxLanguage.Text;LanguageManager.ChangeLanguage(value);this.Text = LanguageManager.GetByKey("mainForm");this.lbl_language.Text = LanguageManager.GetByKey("m_lbl_language");this.dgv.Columns["column1"].HeaderText =
LanguageManager.GetByKey("m_dgv_c1");this.ts_btn.Text = LanguageManager.GetByKey("m_ts_btn");}
7.Resources.resx Resources.en.resx 添加内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hikrhLWH-1644974419618)(en-resource://database/1268:1)]
8.LanguageConvert.Properties.Resources 添加配置
9.超大Bug
App.config文件中,自动生成了如下代码:
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
如果上面这些都配置好了,运行报错
就是startup这个标签引起的,全部删除,就没有问题
10.下载链接
Demo下载链接: 百度云
提取码:44ry
Winform程序多种语言切换相关推荐
- 微信小程序 多语言切换 i18n
1.小程序根目录添加目录i18n 新建 en.js; zh_CN.js 两个文件分别存放英文和中文的对照 en.js const languageMap = {"登录" : &qu ...
- iOS 程序内语言切换 -- 中英文切换
随着时代的发展,应用程序相继出现了不同语言的版本方案,中文,英文,法文,韩文等等:想在应用程序中实现语言的自由切换,需要配置多个语言的文件,根据用户的动态选择获取不同语言文件下的语言文件,从而显示到界 ...
- 安卓换语言java_Android应用程序的语言切换
最近项目中用用到语言切换功能,第一想到的就是资源文件,没错. 在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的 ...
- iOS开发:国际化之app支持多种语言切换
iOS国际化:如何切换语言 1.国际化就是将标签.提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件.以key/value对存储,每个资源的key值不变,value随着需求改变. 一般 ...
- 2.4 Qt多国语言切换
如果要实现qt程序动态语言切换,最简单有效的方法是使用QTranslator类,首先使用QTranslator对象加载相应的翻译语言文件,然后用 QApplication::installTrans ...
- WinForm 程序的界面多语言切换
下面介绍一种只需对现有代码做较小改动的方法. 在 Visual Studio 的设计视图中,如果在 Properties 窗口中改变了程序的默认界面语言(Language),我们会注意到无论是工程还是 ...
- C#如何开发多语言支持的Winform程序
C# Winform项目多语言实现(支持简/繁/英三种语言) 有很多种方案实现多语言,我在这里介绍一种最简单最容易理解的,作为教学材题应该从通俗易懂入手.在写这篇文章之前,本来想用枚举窗体对象成员的方 ...
- 在运行时切换 WinForm 程序的界面语言 System.ComponentModel.ComponentResourceManager .ApplyResources...
Download the code for this article: WinForm-Multilanguages-2.rar (11 KB). 方法二: 下面介绍一种只需对现有代码做较小改动的方法 ...
- C++如何实现系统语言切换功能,MessageBox的确认/取消按钮语言显示如何跟程序一致
文章目录 前言 一.新建工程 二.添加多国语言的资源 三.程序语言设置 四.语言切换 五.字符串处理 六.MessageBox的问题 七.相关函数和类型 参考文章 前言 目前很多软件都是要出口到多 ...
- QML程序实现动态切换多语言
原文地址::https://zhuanlan.zhihu.com/p/40815590 Qt程序中实现多语言有Qt自己的一套机制,然而目前在5.9版本下该机制无法在程序运行期间动态切换语言.本文向大家 ...
最新文章
- 06Chrome调试工具
- python主辅线程_python主线程捕获子线程的方法
- 如何为linux 桌面文件内存,linux - 桌面Linux发行版中.desktop文件的功能是什么? - 堆栈内存溢出...
- Windows 用来定位 DLL 的搜索路径
- Linux设备模型组件-类设备-设备类及subsystem
- SAP Spartacus的Responsive和adaptive特性
- C语言深度剖析书籍学习记录 第四章 指针和数组
- poj2516Minimum Cost
- 读zac老哥《网络营销实战密码》一章有感
- Jquery ajax异步请求样板
- liux环境下配置jdk
- 解决无法下载安装Android SDK的问题
- stm32最小原理图的PCB图绘制(含AHT20温度传感器)
- 面向电缆行业的高级计划与排程(商简SPS)解决方案
- 数据格式化 string.format()
- 海康威视java研发一面
- 2022北京养老展(中国国际老年产业博览会)
- 大数据时代,为什么很多JAVA程序员会转型做JAVA大数据
- Demo---progress-steps------ 2/50(详解)
- NLP-D33-毕设答辩-《人类语言处理》04-05-Location-aware-attentionCTC大数据比赛报名答辩被从源头上暴
热门文章
- HLW8032串口通讯芯片的三相电参数采集系统项目资料
- CV520直接pin对pin替换 MS520,直接替换,无需修改硬件以及软件
- win10 系统下CAD2009缩放卡顿问题解决
- 手机app测试点有哪些?手机app测试用例怎么写?错过绝对后悔!
- html分页过多,实现分页处理,固定分页数目,数目始终中间显示,自定义分页跳转(在结尾的代码)
- 摩托车头盔的逆向建模与设计
- 找特征点的算法 SIFT和SURF算法
- 【渝粤教育】电大中专跨境电子商务理论与实务 (31)作业 题库
- 【Linux】ssh的安装及配置
- linux卸载bzip2,bzip2命令_Linux bzip2命令:压缩和解压文件(.bz2文件)