C # ListView и RightToLeft - PullRequest
       18

C # ListView и RightToLeft

1 голос
/ 18 августа 2011

Мне нужно просмотреть текст на английском языке в виде списка со свойством RightToLeft, установленным в значение «true».
Когда я ставлю квадратные скобки в текст, оно кажется перевернутым.
Если я пытаюсь написать «Stack (Overflow)) «Я увижу» (Stack (Overflow).
Есть ли способ это исправить?

это часть моего кода:

                    Item = (ListViewItem) myList.Items.Add(id, myString, iconIndex);
                    MyListView.SetSubItemText(Item, 1, s1);
                    MyListView.SetSubItemText(Item, 2, s2);
                    MyListView.SetSubItemText(Item, 3, s3);
                    MyListView.SetSubItemText(Item, 4, s4);

1 Ответ

1 голос
/ 18 августа 2011

Это сильно зависит от используемой версии Windows, представление списка реализовано как собственный элемент управления в Windows, класс ListView для него является только управляемой оболочкой. Поведение рендеринга справа налево изменилось в разных версиях.

В общем случае для RightToLeft следует устанавливать значение «Да» только в том случае, если вы локализовали пользовательский интерфейс на язык, требующий визуализации текста справа налево. Иврит или арабский Получение необычного поведения со строками на другом языке не является неожиданным. Если вы намеревались получить другое выравнивание, используя это свойство, вам придется найти альтернативу. Как OwnerDraw или ColumnHeader.TextAlign

...