C# 以非编程方式强制.NET应用程序的区域性

C# 以非编程方式强制.NET应用程序的区域性,c#,.net,globalization,C#,.net,Globalization,我发现了许多关于以编程方式强制.NETWinForm程序(C#,.NET4.5)文化的帖子 有没有办法在不使用代码的情况下强制使用区域性?Windows 7上的过程(对话框和名称已更改多次): 启动+控制面板 单击区域和语言 单击“管理”选项卡 单击“更改系统区域设置”按钮 选择一个以“English”开头并与您的客户所在地相匹配的地区 在此之后启动的任何程序都将使用在此对话框中选择的默认区域性进行初始化,并将执行附属程序集 请注意,按照注释中的建议更改Thread.CurrentThrea

我发现了许多关于以编程方式强制.NETWinForm程序(C#,.NET4.5)文化的帖子


有没有办法在不使用代码的情况下强制使用区域性?

Windows 7上的过程(对话框和名称已更改多次):

  • 启动+控制面板
  • 单击区域和语言
  • 单击“管理”选项卡
  • 单击“更改系统区域设置”按钮
  • 选择一个以“English”开头并与您的客户所在地相匹配的地区
在此之后启动的任何程序都将使用在此对话框中选择的默认区域性进行初始化,并将执行附属程序集

请注意,按照注释中的建议更改Thread.CurrentThread.CurrentCulture和CurrentUICulture属性并不是真正的替代。线程池线程仍将自己初始化为系统区域设置。通过添加CultureInfo.DefaultThreadCurrentCulture和DefaultThreadCurrentUICulture属性,在.NET 4.5中最终解决了一个非常棘手的问题


请注意,许多本机Windows对话框(如MessageBox和OpenFileDialog)仍将以您的操作系统语言显示文本。您需要购买Windows Ultimate的许可证,并安装语言包以更改这些许可证。MSDN订阅是获得用户启动的相同语言特定操作系统的好方法。

Windows 7上的过程(对话框和名称已更改多次):

  • 启动+控制面板
  • 单击区域和语言
  • 单击“管理”选项卡
  • 单击“更改系统区域设置”按钮
  • 选择一个以“English”开头并与您的客户所在地相匹配的地区
在此之后启动的任何程序都将使用在此对话框中选择的默认区域性进行初始化,并将执行附属程序集

请注意,按照注释中的建议更改Thread.CurrentThread.CurrentCulture和CurrentUICulture属性并不是真正的替代。线程池线程仍将自己初始化为系统区域设置。通过添加CultureInfo.DefaultThreadCurrentCulture和DefaultThreadCurrentUICulture属性,在.NET 4.5中最终解决了一个非常棘手的问题


请注意,许多本机Windows对话框(如MessageBox和OpenFileDialog)仍将以您的操作系统语言显示文本。您需要购买Windows Ultimate的许可证,并安装语言包以更改这些许可证。MSDN订阅是获得用户引导的相同语言特定操作系统的一种好方法。

另一个可能适用于您的奇怪选项是创建引导exe,它将设置bot区域性设置(CurrentCulture和CurrentUICulture),然后加载实际的exe并调用正确类的主函数。只在主线程上设置区域性具有所有缺点,但作为权宜之计也可以。

另一个对您有效的奇怪选项是创建引导exe,它将设置bot区域性设置(CurrentCulture和CurrentUICulture),然后加载实际的exe并调用正确类的主函数。只在主线程上设置区域性具有所有缺点,但作为权宜之计也可以。

更改计算机的区域设置。在win窗体上,据我所知,在不添加任何代码行的情况下,您无法强制区域性与本地设置不同。为什么不使用代码?这只是一行:
Thread.CurrentThread.CurrentCulture=new CultureInfo(“pt BR”)
这是下一个版本之前客户的一个解决方案。客户习惯于使用英语处理我们的程序。在新的本地化版本中,他看到了翻译后的文本,出于某种原因他不喜欢。更改您的计算机区域设置。在win窗体上,据我所知,您无法在不添加任何代码行的情况下将区域性强制为与本地设置不同的内容。为什么不使用代码?这只是一行:
Thread.CurrentThread.CurrentCulture=new CultureInfo(“pt BR”)
这是下一个版本之前客户的一个解决方案。客户习惯于使用英语处理我们的程序。在新的本地化版本中,他看到了翻译的文本,出于某种原因,他不喜欢它。