从C#中的文件路径提取文件名?

从C#中的文件路径提取文件名?,c#,filenames,filepath,C#,Filenames,Filepath,我见过几个类似的问题,但我不知道我做错了什么。 我有一个列表框,希望在其中列出所有选定的测试文件,而不显示整个路径。使用此当前代码,列表框中不会输入任何文本。我哪里做错了 if (cmdBrowse.ShowDialog() == DialogResult.OK) { string testNameShort = Path.GetFileName(listboxTestsToRun.Text.ToString()); listboxTestsToRun.Items.Add(tes

我见过几个类似的问题,但我不知道我做错了什么。 我有一个列表框,希望在其中列出所有选定的测试文件,而不显示整个路径。使用此当前代码,列表框中不会输入任何文本。我哪里做错了

if (cmdBrowse.ShowDialog() == DialogResult.OK)
{
    string testNameShort = Path.GetFileName(listboxTestsToRun.Text.ToString());
    listboxTestsToRun.Items.Add(testNameShort);
}

提前谢谢

如果
cmdBrowse
是一个,那么,除非您希望列表框中有其他有意义的内容,否则您需要使用用户选择的路径(我怀疑您正在尝试这样做),例如:

var fileName = Path.GetFileName(cmdBrowse.FileName);

请看在要检索的路径上首先执行Path.GetFileNameWithoutExtension(FilePath)方法,然后将它们添加到框中,假设cmdBrowse是一个OpenFileDialog,并且希望将用户选择的文件名添加到列表框中。在本例中,您需要编写以下代码

if (cmdBrowse.ShowDialog() == DialogResult.OK)
{
   if(cmdBrowse.FileName.Length > 0)
   {
      string testNameShort = Path.GetFileName(cmdBrowse.FileName);
      listboxTestsToRun.Items.Add(testNameShort);
   }
}

cmdBrowse是哪种控件?FolderBrowser还是OpenFileDialog?您调试了吗?您看到了什么?我不认为listboxTestsToRun.Text.ToString()做了您认为它做的事情。如果我没有错,您是否正在检索
listboxTestsToRun.Text
ListBox的值,使用
Path
类提取文件名并将其插入同一个ListBox?调试代码时,
listboxTestsToRun
变量上是否有任何值?是否确实选择了某个项?此外,即使有,此代码也会获取所选项目,获取文件名部分,并将其添加到列表框项目的末尾(将原始文件名保留在列表中)。这听起来不像是你想做的事情。工作完全按照我的要求进行,谢谢!我现在也明白我做错了什么。我从列表框中绘制路径,而不是从对话框中选择的文件。我喜欢这个网站。谢谢史蒂夫!哦,(取决于OP想要做什么)OP可能还应该添加
cmdBrowse.CheckFileExists=true
;但我不知道是否需要