我有一个 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
}