我有一个ListView,MultiSelect = false,View = Details和CheckBoxes = True。我正在逐步完成它并控制应用程序中的可见性。我目前正在使用下面代码的Else部分。但它没有考虑选择的第一个项目,它只是打开第二个项目。并且是否检查了项目(已经可见),并且关闭了可见性。我正在将与项目相关联的元素与已经可见的元素进行比较。我的应用程序在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
}
答案 0 :(得分:0)
目前尚不清楚你要做什么。
您基本上选择一个选定的项目并将其放在'currentItem'中。如果该项目被检查为真,那么你正在循环直到它?为什么?