使用Winforms应用程序中另一个程序集中定义的资源

时间:2014-01-13 16:28:57

标签: c# winforms localization

包含我的应用程序的语言特定字符串的资源文件在我的应用程序的前端和后端通用的DLL中定义。前端是一个WPF应用程序,但是当程序运行并且用户开始升级到更高版本时,会显示一个小型WinForms应用程序。我需要修改此WinForms应用程序,以便它使用公共资源DLL中的资源字符串。

我已经将资源DLL的引用添加到WinForm应用程序中。我还将表单的Localizable属性设置为true。

此表单上有几个标签和一个按钮,所有这些都需要显示从公共资源文件中读取的字符串。如何为每个控件指定它应该从公共资源DLL获取文本?

1 个答案:

答案 0 :(得分:0)

我不知道这是否是最好的方式,但这就是我解决这个问题的方法。

在调用Text之后,我在构造函数方法中添加了代码来设置MainForm.cs文件中每个控件的InitializeComponent()属性,如下所示:

public MainForm() {
    InitializeComponent();

    this.Text = Car.UpdateDialog_Title;
    lblLine1.Text = Car.UpdateDialog_lblLine1;
    lblLine2.Text = Car.UpdateDialog_lblLine2;
    butOk.Text = Car.Common_OK;
}

这很有效。我还将表单的Localizable属性设置回false,因为该程序没有自己的本地化资源。