2013-02-09 43 views
1

這可能是一個愚蠢的問題,但是......我如何在listview/gridview中實現最大數量的選定項目?設置所選項目的最大數量

我有9個項目,一個ListView從中我希望用戶能夠只選擇5

到目前爲止,我有這個在SelectionChanged事件實施:

if (MyListView.SelectedItems.Count >5) 
    MyListView.SelectedItems.RemoveAt(0); 

這是一個有趣的,但迴避的方式,使之,當第6項被選中,第一個被deselcted,所以alwyays他們仍然5.

我想要什麼,雖然,當我有5個項目已經選定,除非我去除,否則不能再選擇其他人ct項目,同時我滿足條件SelectedItems.Count < 5.

任何建議,想法,代碼是非常感謝。

回答

1

這是一個愚蠢的問題,確實......一直在想了很多,我完全沒有想法,之後只有5分鐘,我張貼了這個...和代碼如下所示:

if (MyListView.SelectedItems.Count >5) 
    MyListView.SelectedItems.RemoveAt(MyListView.SelectedItems.Count-1); 
0

事件處理程序:

this.MyListView.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.MyListView_ItemSelectionChanged); 

代碼:

private void MyListView_ItemSelectionChanged(object sender,  ListViewItemSelectionChangedEventArgs e) 
    { 
     if (MyListView.SelectedItems.Count > 5) 
     { MyListView.SelectedItems[0].Selected = false; } 
    } 
+0

我的例子中刪除了所選擇的第一個項目,您的解決方案消除了最後一個項目選擇在新的之前編輯。無論什麼對你有用。 – 2013-02-09 22:39:44