c# - 从文件中删除 ListView 中的项目 C#

标签 c# listview

如何从 ListView 中删除项目,并从文件中删除它? 这是我目前拥有的代码:

private void button3_Click(object sender, EventArgs e)
    {
        listView1.Items.Remove(listView1.SelectedItems[0]);

        foreach (ListViewItem item in listView1.SelectedItems)
                File.Delete(path + "//Lyrics//" + item.Text + ".txt");                  
    }

这会从列表中删除项目,但不会删除其文件。仅当我选择多个项目时,它才会删除该文件。例如,我选择了 3 项:1.txt、2.txt、3.txt。它只会删除我选择的最后一个文件(即 3.txt)中的文件,但会从列表中删除所有 3 个文件。

最佳答案

您可以将要删除的项目具体化到列表中,然后删除:

private void button3_Click(object sender, EventArgs e) {
  var toDelete = listView1.SelectedItems.ToList();

  foreach(var item in toDelete) {
    listView1.Items.Remove(item);
    File.Delete(path + "//Lyrics//" + item.Text + ".txt");
  } 
}

关于c# - 从文件中删除 ListView 中的项目 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28042008/

相关文章:

c# - .NET 多线程、 volatile 和内存模型

c# - 错误 2 无效表达式项 ')'

android - 如何使用 Drawable 图像名称从 ArrayList<String> 动态设置 ImageViews 源?

android - 从 ListView 中删除项目

android - 尝试播放声音 OnItemClick 时出错

c# - DbContext 因 PrimitiveType != null 错误而崩溃

c# - 字符串未被识别为 DateTime.ParseExact 的有效日期时间异常

c# - 错误 : No credentials found by which to authorize the user Missing authentication credentials

android - 如果不匹配过滤器,如何添加所有项目?

c# - ListView + POCO