无法从目录中删除文件

时间:2016-04-09 17:04:59

标签: c# winforms visual-studio

我在删除文件时遇到一些问题。目前我有一个存储目录内容的列表框。我能够从列表框中删除条目,但不能删除相应的文件,因此当程序重新启动时,该条目会重新显示,因为文件尚未删除。

这是我的代码:

private void button3_Click(object sender, EventArgs e)
{
    //removes selected item from listbox
    foreach (int Index in listBox1.SelectedIndices.Cast<int>().Select(x => x).Reverse())
        listBox1.Items.RemoveAt(Index);

    string[] files = Directory.GetFiles(".\\Notes\\");

    //Gets selected listbox item as string
    string fileName = listBox1.GetItemText(listBox1.SelectedItem);

    if (fileName.Equals(files))
    {   // not deleting, yet!
        File.Delete(".\\Notes\\"+ files);
    }

    MessageBox.Show("Note deleted!", "ModNote",
    MessageBoxButtons.OK, MessageBoxIcon.Information);
 }

1 个答案:

答案 0 :(得分:1)

你必须改变你的if条件。而不是

if (fileName.Equals(files))
{
    File.Delete(".\\Notes\\"+files);    
}

if (files.Contains(fileName))
{
    File.Delete(".\\Notes\\"+fileName);    
}

至少有两个问题:一次,您将stringfileName)与string[]files)进行比较。另外,您通过将“。\ Notes \”与数组连接来构造错误的路径。