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