cultureinfo - 在 Windows 10 64 位窗体应用程序中将 en-US 文化更改为 fa-IR 文化的问题
问题描述
尽管使用了正确的代码(我当然认为),但 Windows 窗体应用程序的文化并没有改变。
在 win 表单应用程序的 Program.cs 文件中,我尝试将当前文化从 en-US 更改为 fa-IR,并使用以下代码:
CultureInfo culture = CultureInfo.CreateSpecificCulture("Fa-IR");
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
解决方案
public static void InitializePersianCulture() {
var culture = new CultureInfo("fa-ir");
var info = culture.DateTimeFormat;
var calendar = new PersianCalendar();
info.Calendar = calendar;
var field = typeof(CultureInfo).GetField("Calendar", System.Reflection.BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic);
if (field != null)
field.SetValue(culture, "fa-ir");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
CultureInfo.CurrentCulture.DateTimeFormat = info;
CultureInfo.CurrentUICulture.DateTimeFormat = info;
}
推荐阅读
- python - 在 python,BS4 上解析数据时得到“无”
- javascript - 在 Chrome 和 Edge 中工作但在 IE 中不工作的代码 - setimeout?
- php - 发送成功事件的电子邮件通知
- c++ - 如何从文件系统打印特定名称文件
- java - 我添加范围 1 - 9999 的条件的代码无法使用 switch 语句
- powershell - 在包含多个作业的 Azure DevOps 发布管道中,我可以在脚本中捕获以前作业的状态吗?
- angular - 想要从已登录的特定人员的 RESTAPI 中获取数据
- javascript - 如何获取 iframe 的 JSON 值?
- python-3.x - 如何在python中将另一个excel数据附加到sqlite3数据库中?
- node.js - 如果按下按钮(gpio,raspberry)使用node.js(服务器)将新页面/html发送到浏览器(客户端),怎么办?