如何本地化UserControl

本文关键字:UserControl 本地化 | 更新日期: 2023-09-27 18:23:44

我正在开发一个必须支持多种语言的windows应用程序。

我关注了下面的文章http://msdn.microsoft.com/en-us/library/y99d1cd3(v=vs.71).aspx使我的windows应用程序可本地化。

除了用户控件之外,一切都很好。我必须为每种语言创建一个用户控件吗?如何使用户控件继承从右到左属性?做这件事的最佳做法是什么?

如何本地化UserControl

UserControls必须以与表单(Localizable = TrueLanguage = ...)相同的方式进行本地化,当它们嵌入到本地化的Form中时,您不会在设计器中看到本地化,但在运行时本地化做得很好。

对于RightToLeft属性:选择您的UserControl(选择其中的一个控件,然后按ESC键,直到选择主控件——在属性面板中,您应该看到UserControl的名称和类型=System.Windows.Forms.UserControl),转到属性面板并搜索RightToLeft属性,在同一面板中,还有必须在Forms中使用的LocalizableLanguage属性。

有两个组件可以使用户控件在Visual Studio设计器中本地化和可编辑:

  1. 将顶部Form对象的Localizable属性设置为True
  2. 定义要在设计器中本地化和编辑的控件属性,如下所示(从此处借用):

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属性并清理/重建解决方案。