1
我有一個winforms應用程序(C#,.NET 3.5,但最終遷移到4.0),它使用ListView以類似的風格呈現附件(文件/網頁鏈接) Windows資源管理器。在列表視圖中使用列ImageKey來模擬Windows資源管理器風格排序
此功能已得到他的應用程序用戶的好評。請求已作出edxpand這包括分類的細節通過單擊列標題(同Windows資源管理器)查看
這是排序是我的目標風格(使用三角形字形以指示排列方向)
我已經接近通過使用ImageKey屬性來實現此目的。
if (lvAttachments.ListViewItemSorter != null)
{
lvAttachments.Sort();
if (lvwColumnSorter != null)
{
if (lvwColumnSorter.Order == System.Windows.Forms.SortOrder.Ascending)
lvAttachments.Columns[lvwColumnSorter.SortColumn].ImageKey = "sortAsc";
if (lvwColumnSorter.Order == System.Windows.Forms.SortOrder.Descending)
lvAttachments.Columns[lvwColumnSorter.SortColumn].ImageKey = "sortDesc";
}
}
不幸的是,圖像顯示在文本的左側,而不是右側。
的columnHeader TextAlign屬性設置爲左,也有設計師提供一些其他的特性,沒有出現任何用處。
有沒有人知道是否有可能使圖像顯示在文本的右側,而它是左對齊,還是有另一種方法,我將不得不使用?
我遇到的一個選擇是在標題文本中使用unicode字形。但是,如果可能的話,我寧願避免這種情況,因爲unicode字形並不特別好。
但見http://stackoverflow.com/questions/254129/how-to-i-display-a-sort-arrow -in-the-header-of-a-list-view-column-using-c,它是一個模仿資源管理器的例子。 – EricLaw