1

MessageBox 显示存在(对我而言)问题。

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

我正在测试语言是英语的 Windows。将应用程序设置为德语可以正常工作,但显示 MessageBox 会创建多种语言的混合。消息是德语(通过资源文件),消息框中按钮的语言是英语(Yes No 而不是 Ja Nein)。我的客户只使用德文 Windows 版本,如果他想使用英文版的应用程序,他可能会遇到相反的问题 -> 德文按钮和英文(消息框)文本。

.NET 语言包可以解决这些冲突吗?手段 -> 安装 .NET 语言包以避免这种语言混合。

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

4

2 回答 2

4

.NET 语言包影响操作系统元素的文本(显然!)。因此它们不会影响 WinForms 消息框上的按钮文本,因为它们使用 Win32 MessageBox 函数。这意味着,如果您的客户使用的是德语版本的 Windows,那么无论如何,所有常用的 UI 元素(例如那些按钮)都将使用德语。如果他有 Vista,他可以购买额外的语言包,但即便如此,在任何给定时间都只能为用户(而不是特定应用程序)激活一个。

如果您的客户希望仅使用英文版的应用程序,那么他必须使用英文 Windows 版本,或者您必须编写自己的消息框,您自己在其中定义按钮标签。

于 2009-07-11T05:50:43.480 回答
0

这个问题目前对我来说优先级较低。另一种尝试可能是:

使用 System.Windows.Forms.MessageBox.Show 而不是 System.Windows.MessageBox.Show

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

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

于 2009-07-12T17:23:17.377 回答