1

私は WinForms アプリケーションに取り組んでおり、RTL データと LTR データを同時に表示する必要があるいくつかのコントロール (特にリストボックスとデータグリッドビュー) があります。たとえば、英語、アラビア語、ドイツ語、ヘブライ語の文字列を含むリスト ボックスがあります。明らかに、リストボックス コントロールには RightToLeft プロパティがあり、現時点では、UI にボタンがあり、ユーザーが RTL と LTR の間で適切と思われるプロパティを切り替えることができます。私の顧客はこのアプローチに満足しているようですが、他の設計者/開発者は通常、このシナリオにどのように対処しているのでしょうか?

4

1 に答える 1

2

Winforms についてはよくわかりませんが、実際の文字列に Unicode の方向性制御文字を追加できると思います。ハックですが、うまくいくはずです。

関連する文字は次のとおりです。

  • RLM (右から左へのマーク) - 目に見えない右から左への文字。括弧を閉じて右端に表示されるようにするか、ヘブライ文字列と数字の間に配置して、数字が文字列の左側に来るようにすることができます。
  • 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 に答える