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
}