【发布时间】:2011-05-19 19:41:33
【问题描述】:
我有一个包含多个控件的基本表单,包括 1 个标签。此表单已本地化为多种语言。
我有另一种形式,它继承自基本形式。我想要该标签的另一个本地化字符串,但我无法更改标签文本,即使在公共修饰符的情况下,所有属性都被禁用..
谁能告诉我如何使用设计器为该标签应用其他文本?
提前谢谢..
【问题讨论】:
我有一个包含多个控件的基本表单,包括 1 个标签。此表单已本地化为多种语言。
我有另一种形式,它继承自基本形式。我想要该标签的另一个本地化字符串,但我无法更改标签文本,即使在公共修饰符的情况下,所有属性都被禁用..
谁能告诉我如何使用设计器为该标签应用其他文本?
提前谢谢..
【问题讨论】:
据我所知,仅使用设计器是不可能的。 (如果有人证明我错了,那会很酷)。但您始终可以使用代码手动完成。
首先,您将标签的修饰符设置为 protected 或 public,以便您可以从继承的控件中访问它。
接下来,您在设计器模式下打开 resx 文件,并使用您可以选择的别名向其中添加一个字符串。
最后你可以为表单手动创建一个资源管理器,并用它来设置标签的文本
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form2));
label1.Text = resources.GetString("<alias for the control>");
【讨论】: