有存在(我)用的MessageBox显示的问题。

我的应用程序是多种语言(英语/德国)。

我测试在Windows的语言是英文。 设置应用德语工作正常,但显示一个MessageBox创建语言的混合物。消息是在德国(通过资源文件),并在消息框按钮的语言是英文(无不是JA Nein的是)。我的客户只使用德语Windows版本,并可以有相反的problem->按钮,在英语和德语(消息框)的文本,如果他想使用的应用程序的英文。

能否.NET语言包解决这些矛盾?装置 - >安装.NET语言包,以避免这种语言混合物

消息框http://img401.imageshack.us/img401/1914/dlglang .JPG

有帮助吗?

解决方案

.NET语言包的的影响OS元素的文本(当然!)。因此,他们将不会影响WinForms的消息框按钮的文字,因为它们使用Win32 MessageBox函数。这意味着,如果您的客户的Windows的德语版本,那么所有的股票UI元素 - 如按钮 - 将在德国不管。如果他有Vista的,他可以购买额外的语言包,但即使如此,只有一个可以在任何给定时间对用户活动的(而不是为特定的应用程序)。

如果您的客户希望使用英语的应用程序而已,那么无论他用英文的Windows版本,或者你有你定义按钮标签自己编写自己的消息框。

其他提示

这个问题目前有一个低优先级的我。 另一个尝试可以是:

使用System.Windows.Forms.MessageBox.Show代替System.Windows.MessageBox.Show的

http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

如果有人已经从CodeProject上这个项目经验:请回复:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top