C# 根据列表框中SelectedItem的值删除文件

C# 根据列表框中SelectedItem的值删除文件,c#,.net,winforms,listbox,C#,.net,Winforms,Listbox,如何根据列表框中的值删除C#中的文件。这是我的代码,它不起作用: File.Delete( folderBrowserDialog1.SelectedPath+ "\" +listBox1.SelectedItem.ToString()); 我假设你得到一个空异常。您不能从列表框中删除项目,然后期望能够将其转换为字符串这是Windows窗体应用程序吗?请阅读您发布的代码。从列表框中删除选定项,然后尝试使用列表框中的选定项。它不在那里-你把它拿走了,记得吗?你犯了什么错误?从第一次编辑到现在,我

如何根据列表框中的值删除C#中的文件。这是我的代码,它不起作用:

File.Delete( folderBrowserDialog1.SelectedPath+ "\" +listBox1.SelectedItem.ToString());

我假设你得到一个空异常。您不能从列表框中删除项目,然后期望能够将其转换为字符串这是Windows窗体应用程序吗?请阅读您发布的代码。从列表框中删除选定项,然后尝试使用列表框中的选定项。它不在那里-你把它拿走了,记得吗?你犯了什么错误?从第一次编辑到现在,我可以看到一些错误,但是。。。很高兴看到你得到了什么,这样我们就不必100%地用勺子喂你了deleted@OkwuPrecious这是什么文件?谢谢你的回答。它是一个txtfile@OkwuPrecious嗯,我希望你会说这是一个Word文档,这样就很容易弄清楚是怎么回事了(这是buggy)。无论如何,下载这个:并找出哪个进程打开了它。删除由另一个进程打开的文件实际上是不可能的(嗯……这是可能的,但这非常困难,即使有我的一些x86知识,我也无法做到这一点)。使用这个简洁的程序,它会帮你省去很多麻烦。一、 就我个人而言,从那个网站上获得整个实用程序套件。我认为这是因为它在列表框中,需要锁定它
if (listBox1.SelectedItem == null)
{
    System.Diagnostics.Debug.WriteLine("Selection is null");
    return;
}

try
{
    File.Delete(Path.Combine(folderBrowserDialog1.SelectedPath,
                             listBox1.SelectedItem.ToString()));
}
catch (System.IO.IOException e)
{
    System.Diagnostics.Debug.WriteLine(e.Message);
}
if (File.Exists(Path.Combine(folderBrowserDialog1.SelectedPath,                     
                             listBox1.SelectedItem.ToString())))
{
    // your code here
}