微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在C#中更改语言

我在Windows上用C#开发多语言程序

如何更改某些操作的Windows编写语言…

例如在焦点事件上将英语改为阿拉伯语。

谢谢

从任务pipe理器启动进程并隐藏命令行参数

分布式locking机制.NET

Visual Studio图标的含义

Windows播放audio有多准确(按时间)?

检测进程已经在使用C#.net的窗口中运行

.NET等价于热键控制

Windows XP中的.NET Framework 2.0是否可选?

如何在鼠标指向窗口的顶部位置时触发事件?

一种可靠的方法来识别显示设备?

我能否以编程方式启动Windows Management Instrumentation服务?

要选择一个全新的文化,请将CurrentThread.CurrentCulture设置为新的文化,例如设置为法语:

System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("fr-FR"); System.Threading.Thread.CurrentThread.CurrentCulture = ci;

您可以在这里和这里找到预定义的CultureInfo名称列表。

如果你想改变认文化的某些方面,你可以抓住当前线程的文化,使用它的名字来创建一个新的CultureInfo实例,并设置线程的新文化,例如改变当前的文化,使用“欧元符号:

System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo( System.Threading.Thread.CurrentThread.CurrentCulture.Name); ci.NumberFormat.CurrencySymbol = "€"; System.Threading.Thread.CurrentThread.CurrentCulture = ci;

Thread.CurrentThread.CurrentCulture = yournewculture;

另请参阅CurrentUICulture属性

在加载事件中插入以下代码

InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("fa-IR"));

另外,如果要在运行时刷新所有控件的资源,则需要使用如下所示的内容

private void RefreshResources(Control ctrl,ComponentResourceManager res) { ctrl.SuspendLayout(); res.ApplyResources(ctrl,ctrl.Name,CurrentLocale); foreach (Control control in ctrl.Controls) RefreshResources(control,res); // recursion ctrl.ResumeLayout(false); }

如果你想要一个更好的例子检查我的博客

这些陈述对我有帮助:

string myLanguage = "HE-IL"; InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo(myLanguage));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐