1

MultiSelect = false、View = Details、CheckBoxes=TrueのListViewがあります。私はそれをステップスルーし、アプリケーションの可視性を制御しています。私は現在、以下のコードのElse部分を使用しています。ただし、最初に選択されたアイテムは考慮されず、2番目のアイテムがオンになるだけです。また、アイテムがチェックされているかどうか(すでに表示されているかどうか)、および表示がオフになります。アイテムに関連付けられている要素を、すでに表示されている要素と比較しています。currentItem.Checkedループでアプリがクラッシュします。そして、組み合わせを考慮しません(最初とチェック済み)。どうすればこれをコーディングできますか?

        int indexCount = listView1.Items.Count;

        ListViewItem currentItem = listView1.SelectedItems[0];
        int currentIndex = currentItem.Index;

        if (currentItem.Index == 0)
        {
            //listView1.SelectedItems[0] on
        }

        if (currentItem.Index == indexCount)
        {
            //end
        }

        if (currentItem.Checked == true)
        {
            while (currentItem.Checked == true)
            {
                listView1.SelectedIndices.Clear();
                listView1.SelectedIndices.Add(currentIndex + 1);
            }
            //listView1.SelectedItems[0] on 
        }

        else
        {
            //listView1.SelectedItems[0] off

            listView1.SelectedIndices.Clear();
            listView1.SelectedIndices.Add(currentIndex + 1);

            //listView1.SelectedItems[0] on                
        }
4

1 に答える 1

0

あなたが何をしようとしているのかは明確ではありません。

基本的に、選択した1つのアイテムを選択し、それを「currentItem」に配置します。そのアイテムがtrueとしてチェックされている場合、あなたはそれをループしていますか?なぜ?

于 2013-02-28T14:46:52.100 に答える