为什么对程序设置区域信息,在多线程内无效?

ares1986 2011-08-17 10:07:28

这是在主窗口中弹出的消息,标题变成的英文的


这是在线程里弹出的消息,标题还是中文的

我弹出消息的函数是同一个,为什么在线程中就不能变成英文的呢?


System.Globalization.CultureInfo culture=new System.Globalization.CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Application.CurrentCulture = culture;

这是我设置区域信息的代码,请大家帮帮忙,在线等...
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
九章落地 2011-08-17
  • 打赏
  • 举报
回复
弹出对话框的标题,应该是由你(程序)来定义,更合适吧,这样也会更有助于提升用户体验。



------------
[店家乐服装店收银软件,服装店销售软件,服装收银软件,服装销售管理系统]_http://www.djlsoft.net
ares1986 2011-08-17
  • 打赏
  • 举报
回复
找到原因了,还是设置区域信息的问题

System.Globalization.CultureInfo culture=new System.Globalization.CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = culture;

这只是设置了当前线程的区域信息,所以每次创建线程时都要在线程中设置一下区域信息,
不知道,有没有人知道怎么设置整个程序的区域信息,而不用每次在线程中设置?
ares1986 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 isjoe 的回复:]
System.Globalization.CultureInfo culture=new System.Globalization.CultureInfo("en-US");
[/Quote]
没看明白?
isjoe 2011-08-17
  • 打赏
  • 举报
回复
System.Globalization.CultureInfo culture=new System.Globalization.CultureInfo("en-US");
ares1986 2011-08-17
  • 打赏
  • 举报
回复
我是通过资源文件来进行语言之间的切换的,如MessageBoxEx.en-US.resx为英文版的资源,而资源文件又是通过区域信息调用的

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧