在同一控件中同时显示RTL和LTR语言

时间:2012-12-26 19:22:11

标签: user-interface multilingual right-to-left

我正在使用WinForms应用程序,我有一些控件(特别是列表框和数据网格视图),需要同时显示RTL和LTR数据的混合。例如,我有一个包含英语,阿拉伯语,德语和希伯来语字符串的列表框。显然,列表框控件具有RightToLeft属性,目前,我的UI中有一个按钮,用户可以根据需要在RTL和LTR之间切换该属性。我的客户似乎对这种方法感到满意,但我很好奇其他设计师/开发人员通常如何处理这种情况?

1 个答案:

答案 0 :(得分:2)

我真的不知道Winforms,但您可以将Unicode方向控制字符添加到实际的字符串中。这很糟糕,但它应该有用。

以下是相关字符:

  • RLM(从右到左标记) - 一个看不见的从右到左的字母。您可以在关闭括号后将其放置,以确保它出现在右端,或者在希伯来字符串和数字之间,以确保数字位于字符串的左侧。
  • LRM(从左到右标记) - 与RLM类似,但是从左到右。
  • RLE(从右到左嵌入) - 将其放在RTL字符串的开头
  • LRE(从左到右嵌入) - 将其放在LTR字符串的开头
  • PDF(流行方向格式) - 将其放在以RLE或LRE开头的字符串的末尾。它类似于HTML中的结束标记:< span dir =“rtl”>שלום* < / span> *

您可以从字符映射中复制和粘贴它们,或者从Unicode编号创建字符串并在运行时将它们连接起来。

希望它有所帮助。