Смешанный текст LTR и RTL в элементе управления TextBox - PullRequest
0 голосов
/ 09 октября 2011

В моем приложении WinForm есть простой элемент управления TextBox, и я печатаю строку со смешанным текстом на английском и фарси (сочетание LTR и RTL). Когда для свойства TextBox RightToLeft установлено значение «Да», оно нормально работает в пользовательском интерфейсе, как и ожидалось, но когда я получаю свойство Text элемента TextBox, строка не соответствует элементу управления и совершенно другая / неправильная.

Вот скриншот того, как текст выглядит внутри элемента управления Textbox (справа) и что возвращает свойство Text (показано в MessageBox).

enter image description here

Как я могу это исправить? Я ожидаю, что свойство Text вернет то же, что отображается в пользовательском интерфейсе.

1 Ответ

0 голосов
/ 06 января 2012

Вы можете передать MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign аргументу options в MessageBox.Show, чтобы окно сообщения выровняло текст по правому краю, а также отобразило окно сообщения целиком с текстом справа налево.

MessageBox.Show("تست English-mixed جمله ...",
                "عنوان Title",
                MessageBoxButtons.OK,
                MessageBoxIcon.None,
                MessageBoxDefaultButton.Button1,
                MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign);

Результат: Sample Output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...