如何本地化UserControl
本文关键字:UserControl 本地化 | 更新日期: 2023-09-27 18:23:44
我正在开发一个必须支持多种语言的windows应用程序。
我关注了下面的文章http://msdn.microsoft.com/en-us/library/y99d1cd3(v=vs.71).aspx使我的windows应用程序可本地化。
除了用户控件之外,一切都很好。我必须为每种语言创建一个用户控件吗?如何使用户控件继承从右到左属性?做这件事的最佳做法是什么?
UserControls必须以与表单(Localizable = True
、Language = ...
)相同的方式进行本地化,当它们嵌入到本地化的Form中时,您不会在设计器中看到本地化,但在运行时本地化做得很好。
对于RightToLeft
属性:选择您的UserControl(选择其中的一个控件,然后按ESC键,直到选择主控件——在属性面板中,您应该看到UserControl的名称和类型=System.Windows.Forms.UserControl
),转到属性面板并搜索RightToLeft
属性,在同一面板中,还有必须在Forms中使用的Localizable
和Language
属性。
有两个组件可以使用户控件在Visual Studio设计器中本地化和可编辑:
- 将顶部Form对象的
Localizable
属性设置为True - 定义要在设计器中本地化和编辑的控件属性,如下所示(从此处借用):
C#
[Category("Appearance")]
[Description("The title of the log data.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Localizable(true)]
[HelpKeywordAttribute("AttributesDemoControlLibrary.AttributesDemoControl.TitleText")]
public string TitleText
{
get
{
return this.label1.Text;
}
set
{
this.label1.Text = value;
}
}
在资源文件中反映数据之前,您可能需要切换Localizable
属性并清理/重建解决方案。