C#ListView和RightToLeft

时间:2011-08-18 07:25:18

标签: c# winforms listview right-to-left

我需要在列表视图中查看英文文本,并将RightToLeft属性设置为“true” 当我在文本中添加括号时,它似乎是相反的 如果我尝试写“Stack(溢出)”,我会看到“(Stack(溢出) 有没有办法来解决这个问题?

这是我的代码的一部分:

                    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 个答案:

答案 0 :(得分:1)

这在很大程度上取决于您使用的Windows版本,列表视图在Windows中实现为本机控件,ListView类只是它的托管包装器。从右到左的渲染行为在不同版本中发生了变化。

通常,只有在将用户界面本地化为需要从右向左呈现文本的语言时,才应将RightToLeft设置为Yes。希伯来语或阿拉伯语。用另一种语言的字符串获得异常行为并不意外。如果您的意图是使用该属性进行不同的对齐,那么您将不得不寻找替代方案。与OwnerDraw或ColumnHeader.TextAlign一样