【发布时间】:2012-07-19 11:27:30
【问题描述】:
这很好用:
private void btnDelete_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox1.SelectedItems.Count; i++)
{
listBox1.Items.Remove(listBox1.SelectedItems[i].ToString());
i--;
}
}
但这不起作用:
private void btnDelete_Click(object sender, EventArgs e)
{
listBox1.Items.Remove(listBox1.SelectedItems);
}
为什么第二个btnDelete_Click 不起作用?我的意思是我用鼠标在listBox1 上选择一行,然后按下按钮。
.Remove 函数不能识别我选择了哪一行?即使我说.Remove(listBox1.SelectedItem),是否必须拥有和 selectedItem 数组? SelectedItems 这个词不是不言自明吗?而且由于我用鼠标单击了listBox1 上的行,程序或IDE 无法理解选择了哪一行?为什么我还要用SelectedItems[i]?
【问题讨论】:
-
出于兴趣,你为什么在第一个电话上打电话给
ToString()?删除方法采用object类型。 -
你为什么要做 i--,你循环遍历所有项目并锁定循环删除 i--;或者向我解释你为什么这样做,看看我的回答
-
yes Bali C ur right 不需要 ToString()
-
@JohnnBlade 这一定是因为当删除该项目时,剩余项目的索引将向下移动一个。我想如果你想要的话,你可以在那里添加它:)
-
巴厘岛 C 我们不需要我——吗?我认为我们需要,但我无法解释。约翰问为什么我们需要这样做?你能解释一下巴厘岛C