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



我正在处理Winforms应用程序,并且我有几个控件(尤其是listbox和dataGridView),需要显示RTL和LTR数据的混合>同时。例如,我有一个列表盒,其中包含英语,阿拉伯语,德语和希伯来语字符串。显然,ListBox控件具有右Toleft属性,目前,我的UI中有一个按钮,可以让用户在RTL和LTR之间切换该属性,从而使他们看到合适的情况。我的客户似乎对这种方法感到满意,但我很好奇其他设计师/开发人员通常如何处理这种情况?

我真的不知道winforms,但是您可能可以在实际字符串中添加Unicode Direiendity Control性。这是骇人听闻的,但应该起作用。

这是相关字符:

  • rlm(左右标记) - 无形的直至左字母。您可以在关闭括号后放置它,以确保它出现在右端,或者在希伯来语字符串和一个数字之间,以确保数字出现在字符串的左侧。
  • lrm(从左到右标记) - 喜欢RLM,但对于从左到右。
  • rle(左嵌入权) - 将其放在RTL字符串的开头
  • lre(从左到右嵌入) - 将其放在LTR字符串的开头
  • pdf(流行方向格式) - 将其放在以rle或lre开头的字符串末端。它类似于html中的关闭标签:

您可以从字符映射中复制并粘贴它们,或者从Unicode编号创建字符串并在运行时加入它们。

希望它有帮助。

最新更新