MessageBoxButtons的语言与currentculture的语言不同

时间:2011-03-11 21:09:58

标签: c# winforms multilingual messagebox

您好 我对MessageBoxButtons有一些奇怪的问题。

我用标准方式显示MesssageBox

MessageBox.Show("Info","Info",MessageBoxButtons.YesNo,MessageBoxIcons.Warning);

问题是YesNo按钮是英文的,尽管currentCulture设置为其他语言(pl-Pl)。控件Localizable属性设置为true,并选择默认语言。但是正如我之前提到的,messageBoxButtons的语言与currentCulture的语言不同。 有没有办法解决这个问题?

3 个答案:

答案 0 :(得分:2)

这是设计使然,内置的Windows对话框(如MessageBox)始终以系统默认语言显示文本。任何有兴趣使用与Windows版语言不同的语言运行机器的用户都会购买Ultimate版本的许可证。它支持可下载的语言包,可以更改所有Windows程序和对话框的语言文本。

这不是很常见,绝大多数用户只购买与其母语相匹配的Windows版本。您唯一需要做的就是确保您的程序已针对该语言进行本地化。即使对于Ultimate,也不需要支持程序中的按需切换,用户只需使用控制面板的区域和语言小程序进行切换。这会强制执行新登录,从而确保重新启动程序。

答案 1 :(得分:1)

答案 2 :(得分:0)

此问题的另一个注意事项:请考虑以下内容,如果为本地语言设置了Windows,但您的程序不支持该语言,该怎么办?现在,用户必须以精神分裂的方式接受消息框和其他系统级对话,部分英语,部分母语。如果用户希望该程序仅使用英语,该怎么办?在现有的CurrentThread.CurrentUICulture属性方法下,无法生成所需的效果。

在那一个上把头撞在墙上一段时间,也许如果你读到这个就不会发生在你身上......

基思