Winfrom多语言切换

news2024/11/26 7:37:36

 实现多语言的切换原理和ResXResourceManager使用。

,时长00:08

实现多语言的切换原理就很简单了,例如默认是中文,from下就会有一个Form1.resx资源文件,所有的资源文件都是.resx。换个思路如果是WPF程序,那么资源文件就是.xaml。

首先新建一个winfrom程序,添加几个button按钮。

当您选择一个资源文件时,所有条目及其翻译都将显示在可编辑的网格中。

将界面Form的属性的Localizable属性设为True。

在from的Language属性中选中需要翻译的语言。保存后重新编译。Visual Studio会自动创建对应的资源档。

例如日语。这个时候直接把所有控件对应的值修改成日语。

其他语言以此类推。

完事之后创建点击修改语言事件

        private void button1_Click(object sender, EventArgs e)        {            //获取或设置资源管理器用于查找特定区域性的当前区域性运行时的资源。            Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");            //提供用于枚举组件或对象的资源的简单功能。            ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));            //遍历所有控件            foreach (Control control in Controls)            {                resources.ApplyResources(control, control.Name);                if (control is MenuStrip menuStrip)                {                    //调用 遍历菜单 设置语言                    foreach (ToolStripItem item in menuStrip.Items)                    {                        resources.ApplyResources(item, item.Name);                    }                }            }            //this.ResumeLayout(false);            //this.PerformLayout();            resources.ApplyResources(this, "$this");            this.BackgroundImage = global::languagesApp.Properties.Resources.CH;        }

其他语言以此类推。

,时长00:09

打开语言资源文件可以看到每个控件对应的值。像这样一个一个的修改,每次都要打开from然后重新编译之后from窗口才会加载资源文件。就很麻烦。

为了方便,这里推荐ResXResourceManager来管理

ResX 资源管理器

使用基于 resx 的资源管理各种应用程序本地化的最流行工具。

下载地址:https://marketplace.visualstudio.com/items?itemName=TomEnglert.ResXManager

直接在visual studio扩展中下载安装

modeify

安装完成后重启visual studio。就可以看到它出现在工具下面。

使用方式就直接右键资源文件选中在ResX Manager中打开。

打开之后就出现管理界面,通过这个来做控件翻译就很方便了,所有添加的资源文件都在这个里面。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/665879.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

String类—javaSE

文章目录 1.常用方法1.1字符串构造1.2String对象的比较1.3字符串查找1.4转化1.5字符串替换1.6字符串拆分1.7字符串的截取1.8去掉字符串中的左右空格,保留中间空格 2.字符串常量池2.1 直接使用字符串常量进行赋值2.2通过new创建String类对象2.3 intern方法2.4String类…

韵达快递,你在玩我吗?请你不要挑战用户的底线!

这个周末真的是被韵达快递给气死了。 面对这样的服务,真的是不吐不快。 搞笑之处在于,表面功夫很到位,看似服务很全面,然后就是落实不到位。 为什么会被韵达快递气到呢?在网上买了 6 箱认养一头牛的儿童牛奶&#xff0…

持 PMP®证书增持 CSPM-2证书,大有用处,靠谱!

2023年起,持有PMP证书的朋友可以直接增持一个同等级证书CSPM-2,不用重新考试,不用重新学习,原PMP证书不影响正常使用,相当于多了一个国标项目管理领域的证书。 第一步准备资料 1、填写能力评价表(简历和业绩不用填&am…

ASP.NET Core Web API入门之三:使用EF Core

ASP.NET Core Web API入门之三:使用EF Core 一、引言二、EF Core 的优缺点2.1 优点:2.2 缺点: 三、使用前安装:NuGet包四、实体类更新到数据库实体表4.1 创建 DBEntity 属性4.2 appsettings.json 配置数据库连接串4.3 修改 DemoCo…

Spring Boot 如何使用 Web 容器

Spring Boot 如何使用 Web 容器 在使用 Spring Boot 进行开发时,我们通常需要使用 Web 容器来处理 HTTP 请求和响应。本文将介绍 Spring Boot 如何使用 Web 容器,包括如何配置 Web 容器、如何处理 HTTP 请求和响应等内容,并提供相应的代码示…

堡垒机免费版在哪里下载?是否安全可靠?

2023年整体大环境都不容乐观,很多企业预算有限。但安全运维又至关重要,因此很多企业都在寻找堡垒机免费版,都在问堡垒机免费版在哪里下载?是否安全可靠?这里我们小编就来简单解答一下。 堡垒机免费版在哪里下载&#…

聚焦行业云方案共性,Gartner 给出最新建议:建设行业云平台

出品 | CSDN 云计算 对绝大部分 IT 从业者来说,云计算是从 2005 年开始以 IaaS 进入他们眼中,同时,云计算的相关技术演化从基础设施、技术平台、数据/分析、人工智能机器学习等多个领域都产生了颠覆性的技术变革。不过,在云化之后…

如何监测Android网络类型:5G/4G/3G/2G能力

如何监测Android网络类型:5G/4G/3G/2G能力 App可以通过了解所连接的网络类型来获益,例如启用某些功能需要5G提供的带宽和低延迟。如果只有2G或3G网络可用,加载时间会比较慢,因此我们可以对加载时间有一定的预期。 在这里&#xf…

Chatterbot 打造游戏AI客服机器人

准备工具 1、开发语言:Python3 2、数据库:MongoDB 3、开源框架:Chatterbot 4、依赖类库: pip3 install chatterbotpip3 install spacy# 需要手动编译安装 en_core_web_sm(使用2.1版本)pip3 install jiebapip3 install colo…

Web网页制作期末复习(3)——HTML5新增标签、CSS简介、CSS的引入方式、选择器、字体属性、背景属性、表格属性、关系选择器

目录 HTML5新增标签 CSS简介 CSS概念 CSS的作用 语法 CSS的引入方式 内联样式(行内样式) 内部样式 外部样式(推荐) 选择器 全局选择器 元素选择器 类选择器 ID选择器 合并选择器 选择器的优先级 字体属性 …

python多线程----------主线程,子线程,任务讲解----拿下就是胜利

这一篇博客主要介绍给分不清楚主线程.子线程的小可爱们 在之前的一篇博客中我简单的介绍了并发,并行 并发:是在时段的完成多个任务 ,但是每个时间点只有一个任务运行 而多线程就是这一个原理 非守护线程 代码: from threading import Thread import requests from seleni…

规则引擎调研及初步使用 | 京东云技术团队

一、产生的背景 生产过程中,线上的业务规则内嵌在系统的各处代码中,每次策略的调整都需要更新线上系统,进行从需求->设计->编码->测试->上线这种长周期的流程,满足不了业务规则的快速变化以及低成本的更新试错迭代。…

亚马逊关于儿童餐椅/增高椅/折叠椅和非折叠椅/凳政策

检测认证很迷茫?关注老李直通关!大家好我是李老师。近期碰到很多卖家在吐槽儿童椅子类型的检测,甚至某些卖家要做2-3个标准,确实有点夸张,下面是我为大家整理的关于各类儿童椅子认证的标准,希望可以帮到大家…

游泳戴的耳机推荐,列举感受水下快乐的游泳耳机

​游泳是个真心好玩的活动,对一般人来说简直是大杀器!它不仅对身体没有太大伤害,还能锻炼到身体的大部分肌肉,对心肺也超级有帮助。不过,问题来了: 之前很少见到有人戴耳机游泳,主要是担心进水…

论文笔记:Toolformer:可以教会自己使用工具的语言模型

Toolformer:可以教会自己使用工具的语言模型 摘要Introduction现有大模型的局限处理办法本文的idea Approach样例化API调用执行API调用筛选API调用模型微调 实验局限 论文地址点这里 摘要 语言模型(LMs)呈现了令人深刻的仅使用少量的范例或…

Spring Boot 容器的生命周期

Spring Boot 容器的生命周期 在使用 Spring Boot 进行开发时,我们经常需要对 Spring 容器的生命周期进行了解和掌握。本文将介绍 Spring Boot 容器的生命周期,包括容器的创建、初始化、销毁等过程,并提供相应的代码示例。 Spring Boot 容器的…

C++基础(3)——类和对象(1)

前言 本文主要介绍了C中类和对象的基本知识 4.1.1:封装 写一个Circle类,然后分别在栈上和堆上创建两个圆对象,对象包含属性和行为,调用求周长的成员函数,并打印出结果。 4.1.2:封装-访问权限 public成员…

Server - 配置安装 Git LFS | BWM-NG | Tmux | BOS 等命令

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131302104 构建实验Docker: nvidia-docker run -it --name git-lfs-[your name] --nethost -p [port]:[port] -v [nfs path…

基于spring cloud技术栈构建的一款源码级jvs低代码平台,值得收藏

开发团队在日常的项目开发过程中 ,会遇到各种各样单点需求。 确保应用程序能够满足特定的业务需求并与现有系统和服务进行有效集成,那么是团队选择对应技术栈或者整体开发工具的核心考量: 核心关注的点: 1、技术栈的选择&#…

vue3-实战-11-管理后台-权限管理之角色管理模块

目录 1-角色列表 1.1-原型需求分析 1.2-接口封装和数据类型定义 1.3-请求服务器端获取列表页面数据 1.4-组件页面动态渲染数据 2-角色新增和编辑 2.1-需求原型分析 2.2-页面结构以及功能实现 3-角色的删除 4-分配权限 4.1-原型需求分析 4.2-获取服务器数据渲染数据…