【问题标题】:Set a maximum number of selected items设置所选项目的最大数量
【发布时间】:2013-01-25 08:41:16
【问题描述】:

这可能是一个愚蠢的问题,但是...如何在列表视图/网格视图中实现最大数量的选定项目?

我有一个包含 9 个项目的列表视图,我希望用户只能从中选择 5 个。

到目前为止,我已经在 SelectionChanged 事件中实现了这一点:

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

这是一种有趣但回避的方法,当第 6 项被选中时,第 1 项被取消选择,因此它们始终保持为 5。

但我希望,当我已经选择了 5 个项目时,不能再选择其他项目,除非我同时取消选择一个项目并且我满足 SelectedItems.Count

非常感谢任何建议、想法、代码。

【问题讨论】:

    标签: listview gridview windows-runtime max selecteditem


    【解决方案1】:

    事件处理程序:

        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; }
        }
    

    【讨论】:

    • 我的示例删除了选择的第一个项目,您的解决方案删除了​​新项目之前选择的最后一个项目。任何适合你的东西。
    【解决方案2】:

    这确实是一个愚蠢的问题......我想了很多,但我完全没有想法,在我发布这个之后仅仅 5 分钟......并且代码看起来像这样:

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

    【讨论】:

      猜你喜欢
      • 2018-01-01
      • 2021-04-03
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2016-07-09
      • 2013-01-15
      相关资源
      最近更新 更多