1

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

4

1 回答 1

2

我不太了解 Winforms,但您可能可以将 Unicode 方向控制字符添加到实际字符串中。这很hacky,但它应该可以工作。

以下是相关字符:

  • RLM (Right-to-left mark) - 一个不可见的从右到左的字母。您可以将它放在右括号之后以确保它出现在右端,或者放在希伯来语字符串和数字之间以确保数字出现在字符串的左侧。
  • LRM(从左到右标记)- 与 RLM 类似,但用于从左到右。
  • RLE (Right-to-left Embedding) - 把它放在 RTL 字符串的开头
  • LRE (Left-to-Right Embedding) - 把它放在 LTR 字符串的开头
  • PDF(流行定向格式) - 将其放在以 RLE 或 LRE 开头的字符串的末尾。它类似于 HTML 中的结束标记:<span dir="rtl">שלום* </span> *

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

希望能帮助到你。

于 2012-12-27T11:52:58.370 回答