2011-08-18 59 views
1

我需要在RightToLeft屬性設置爲「true」的情況下在列表視圖中查看英文文本。
當我在文中加上括號時,它似乎被顛倒過來。
如果我嘗試寫「堆棧(溢)」我會看到「(堆棧(溢出」
有沒有辦法解決這個問題C#ListView和RightToLeft

這是我的代碼的一部分:?

    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

您可以粘貼您用來寫入ListView的代碼嗎? – Otiel

+0

我在這裏創建了一個列表視圖,並按照你所說的手動添加了項目。但沒有像我在這裏觀察到的那樣。請給我們更多的細節/代碼。 – Zenwalker

回答

1

這很大程度上取決於您使用的Windows版本,列表視圖是作爲Windows中的本機控件實現的,ListView類只是它的託管包裝。從右向左渲染行爲在不同版本中已發生更改

一般情況下,您應該只將RightToLeft設置爲是whe ñ您將用戶界面本地化爲需要從右向左渲染文本的語言。希伯來文或阿拉伯文。使用另一種語言的字符串獲得不尋常的行爲並不意外。如果你的意圖是使用該屬性獲得不同的對齊方式,那麼你將不得不尋找替代方案。像OwnerDraw或ColumnHeader.TextAlign