我正在开发一个 WinForms 应用程序,并且有几个控件(特别是列表框和 datagridview)需要同时显示 RTL 和 LTR 数据的混合。例如,我有一个包含英语、阿拉伯语、德语和希伯来语字符串的列表框。显然,列表框控件具有 RightToLeft 属性,目前,我的 UI 中有一个按钮,可让用户根据需要在 RTL 和 LTR 之间切换该属性。我的客户似乎对这种方法感到满意,但我很好奇其他设计师/开发人员通常如何处理这种情况?
最佳答案
我不太了解 Winforms,但您可能可以将 Unicode 方向性控制字符添加到实际字符串中。虽然有点 hacky,但应该可以用。
以下是相关字符:
- RLM(从右到左标记)- 一个不可见的从右到左字母。您可以将其放在右括号之后,以确保它出现在右端,或者放在希伯来字符串和数字之间,以确保数字位于字符串的左侧。
- LRM(从左到右标记)- 与 RLM 类似,但用于从左到右。
- RLE(从右到左嵌入)- 将其放在 RTL 字符串的开头
- LRE(从左到右嵌入)- 将其放在 LTR 字符串的开头
- PDF(流行定向格式)- 将其放在以 RLE 或 LRE 开头的字符串末尾。它类似于 HTML 中的结束标记:שלום**
您可以从字符映射表中复制并粘贴它们,或者从 Unicode 数字创建字符串并在运行时连接它们。
希望有帮助。
关于user-interface - 在同一控件中同时显示 RTL 和 LTR 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045172/