我必须在 C# 3.5 中制作多语言桌面应用程序。我知道如何在设计时为标签添加多语言文本。
但是我找不到如何使 Messagebox 和 Confirm 对话框多语言?我是否必须在代码中添加 if/else 条件来检查所选语言?
感谢期待!
我必须在 C# 3.5 中制作多语言桌面应用程序。我知道如何在设计时为标签添加多语言文本。
但是我找不到如何使 Messagebox 和 Confirm 对话框多语言?我是否必须在代码中添加 if/else 条件来检查所选语言?
感谢期待!
您需要将标题和消息字符串移动到资源中,然后通过Properties.Resources
程序集的类上自动生成的属性访问它们。
可以通过查看项目属性并单击“资源”选项卡来创建项目的主资源文件。如果您的项目还没有 Resources.resx,该选项卡上将有一个链接来创建一个。创建完成后,您可以添加项目范围的资源,例如图像和字符串。
您应该使用资源。(可以在项目 -> 属性... -> 资源选项卡中找到)
如果您使用资源选项卡,那么 VisualStudio 将Resources.resx
在文件夹中为您创建文件Properties
,您可以在其中存储不同类型的资源。(例如图像、音频和字符串)您可以在其中添加任何可本地化的字符串并在以后使用它们,例如Properties.Resources.MyMessageBoxTitle
.
稍后当您想要添加对另一种语言的支持时,您可以复制该Resources.resx
文件并将其重命名为Resources.it-it.resx
(或Resources.fr.resx
)之类的名称。资源管理器然后会自动从相应的资源文件中加载字符串。(基于Thread.CurrentUICulture
)
在设计器中,在父窗体或控件上,有一个名为 的属性Localizable
,将其设置为 true,然后,您可以更改它的Language
属性并更改标签/移动控件,以便布局适合该本地化。
这样做将相应地创建资源文件。