这可能是一个愚蠢的问题,但是......我怎样才能在listview / gridview中实现最大数量的选定项目?
我有一个包含9个项目的列表视图,我希望用户只能选择5个。
到目前为止,我已在SelectionChanged
事件中实现了这一点:
if (MyListView.SelectedItems.Count >5)
MyListView.SelectedItems.RemoveAt(0);
这是一个有趣而又回避的方式,当第6个项目被选中时,第1个项目被取消,所以它们仍然是5个。
我想要的是,当我已经选择了5个项目时,无法再选择其他项目,除非我同时取消选择项目并且我符合SelectedItems.Count
<的条件。 5。
非常感谢任何建议,想法和代码。
答案 0 :(得分:1)
这确实是一个愚蠢的问题......在我发布这篇文章后仅仅5分钟,我一直在思考并且根本没有任何想法......代码看起来像这样:
if (MyListView.SelectedItems.Count >5)
MyListView.SelectedItems.RemoveAt(MyListView.SelectedItems.Count-1);
答案 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; }
}