1

これはばかげた質問かもしれませんが...リストビュー/グリッドビュー内で選択されたアイテムの最大数を実装するにはどうすればよいですか?

私は、ユーザーが 5 つだけを選択できるようにしたい 9 つのアイテムを含むリストビューを持っています。

これまでのところ、これをSelectionChangedイベントに実装しています:

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

6 番目の項目が選択されると、1 番目の項目が選択解除されるため、常に 5 のままです。

私が望むのは、すでに5つのアイテムが選択されている場合、その間にアイテムの選択を解除してSelectedItems.Count<5の条件を満たさない限り、他のアイテムを選択できないようにすることです.

提案、アイデア、コードは大歓迎です。

4

2 に答える 2

1

それは確かにばかげた質問でした...たくさん考えていて、これを投稿してからわずか5分後にまったくアイデアがありませんでした...そしてコードは次のようになります:

if (MyListView.SelectedItems.Count >5)
    MyListView.SelectedItems.RemoveAt(MyListView.SelectedItems.Count-1);
于 2013-02-09T21:49:55.270 に答える
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; }
    }
于 2013-02-09T22:35:03.633 に答える