gpt4 book ai didi

c# - listBox selectedItem问题

转载 作者:行者123 更新时间:2023-12-02 22:35:13 29 4
gpt4 key购买 nike

这很好用:

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]

最佳答案

第二个示例不起作用的原因是因为您正试图以要一次删除的集合的形式传递多个项目。

要删除一个项目,您需要一次删除一个项目,因此您需要一个循环。

此外,我可以建议改用 ListView 吗?我个人发现它们有更多选项,更易于使用。

例如,您可以只用这个为 ListView 制作循环

foreach (ListViewItem item in listView1.SelectedItems)
{
item.Remove();
}

如果您尝试一次只删除一个选定的项目,那么您可以这样做

listBox1.Items.Remove(listBox1.SelectedItem);

SelectedItem 而不是 SelectedItems,复数是它在没有循环的情况下无法处理的集合,单数是它可以理解的单个项目。

关于c# - listBox selectedItem问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559877/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com