我正在尝试从列表框中删除某个项目,但无效。即使我确信存在要删除的项目。关于可能出错的任何想法?
iSelectedItem = ContactConflictListBox.ItemIndex;
if ((iSelectedItem == -1))
{
return;
}
ContactConflictListBox.Items.Remove(iSelectedItem);
答案 0 :(得分:4)
您正在获取索引,而非项目。要按索引删除,请使用ContactConflictListBox.Items.Remove(ContactConflictListBox.Items[iSelectedItem]);
或ContactConflictListBox.Items.RemoveAt(iSelectedItem);
。请注意,RemoveAt方法不应该在代码中使用,它只是出于基础结构的原因。
答案 1 :(得分:3)
if (ListBox.SelectedItem!= null)
{
ListBox.Items.Remove(ListBox.SelectedItem);
}
答案 2 :(得分:1)
ListBox.ObjectCollection.Remove
将要删除的对象作为参数。您必须致电ListBox.ObjectCollection.RemoveAt
(不幸的是,记录为仅基础设施),或将对象传递给ListBox.ObjectCollection.Remove
:
ContactConflictListBox.Items.Remove(ContactConflictListBox.Items[iSelectedItem]);
(或者,如果索引不相关:)
ContactConflictListBox.Items.Remove(ContactConflictListBox.SelectedItem);