2012-09-28 85 views

回答

7

ListView中沒有任何屬性禁用項目選擇。

你可以做什麼是處理通知某個項目已通過附加的事件處理程序選擇ItemSelectionChanged,然後取消選擇的項目事件:

yourListView.ItemSelectionChanged += yourListView_ItemSelectionChanged; 

private void yourListView_ItemSelectionChanged(
    object sender, 
    ListViewItemSelectionChangedEventArgs e) 
{ 
    if (e.IsSelected) 
     e.Item.Selected = false; 
} 
3

爲了增加阿德里亞諾Repettis soloution,我有一些類似的東西,其中我將要阻止的項目變灰,他的解決方案可以防止藍色突出顯示,但Item仍然具有焦點,當項目的背景顏色設置爲除白色以外的任何顏色時會導致問題,因爲某些選定的線條變爲白色。要處理這個問題,我建議加入一行:

e.Item.Focused = false; 

最終代碼:

yourListView.ItemSelectionChanged += yourListView_ItemSelectionChanged; 

private void yourListView_ItemSelectionChanged(
    object sender, 
    ListViewItemSelectionChangedEventArgs e) 
{ 
    if (e.Item.BackColor == Color.LightGray) 
    { 
     e.Item.Selected = false; 
     e.Item.Focused = false; 
    } 
} 
相關問題