列表框取消选择顶部项目

Listbox deselect top item

我有一个列表框,我想在循环 运行 时取消选择列表中的第一个选定项目,因为它应该一个接一个地处理列表项。目前我正在使用这个:

var list = new object[listBoxTracks.SelectedItems.Count];
for (int i = 1; i < listBoxTracks.SelectedItems.Count; i++)
    list[i - 1] = listBoxTracks.SelectedItems[i];

listBoxTracks.SelectedItems.Clear();
foreach (var track in list)
    listBoxTracks.SelectedItems.Add(track);

我 think/know 这可能非常糟糕,但我不知道还有什么其他可能性。我尝试了 selectedIndex += 1 等,但这似乎使它崩溃了。如果在我之前已经回答了这个问题,我很抱歉,但我在我的研究中没有发现任何东西:/

据我所知,您可以直接操作 SelectedItems。因此,您也可以从中删除单个项目,例如

listBoxTracks.SelectedItems.Remove(listBoxTracks.SelectedItems[0]);
  private void checkedListBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            checkedListBox1.SetItemChecked(checkedListBox1.SelectedIndex, true);
        }

        private void checkedListBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            checkedListBox1.SetItemChecked(checkedListBox1.SelectedIndex, true);
        }

这个肯定行,我也想要这个...