资源文件中的WinForms字符串,在设计器中连接

Dan*_*eny 13 .net c# resources winforms

我正在尝试为多种语言本地化WinForms应用程序.我正在尝试找到一种方法来设置我的表单标签/按钮文本属性,以便从设计器中的资源文件中读取(而不是必须维护一段以编程方式设置它们的代码).

我发现我可以设置form.Localizable = true,但是然后从表单旁边的文件中读取资源,但是我的许多资源在多个表单中共享.

有没有办法在设计器中将标签的文本设置为存储在项目级resx文件中的值?

Ist*_*115 5

我想我找到了一种方法来做到这一点!

首先在 Resources.resx 中将访问修饰符设置为 Public。

之后,在设计器生成的代码(Form.Designer.cs)中,您可以将其写入适当的控件:

this.<control>.Text = Properties.Resources.<stringname>
Run Code Online (Sandbox Code Playgroud)

例如:

this.footerLabel.Text = Properties.Resources.footerString;
Run Code Online (Sandbox Code Playgroud)

ps.:我不知道这个解决方案是否道德,但它确实有效!

  • 这正是我试图避免的:(“而不是必须维护一段以编程方式设置它们的代码” (5认同)

Jon*_*gel 4

回答这个问题,没有。

但在我看来,如果文本是静态的,无论如何都不应该这样做。

阅读我关于本地化和资源的答案:
资源字符串位置
全球化现有的 Windows 窗体应用程序
使用 .resx 文件获取全局应用程序消息