我见过几个类似的问题,但我无法弄清楚我做错了什么。 我有一个列表框,我希望列出所有选定的测试文件,而不是整个路径。使用此当前代码,列表框中不会输入任何文本。我哪里错了?
if (cmdBrowse.ShowDialog() == DialogResult.OK)
{
string testNameShort = Path.GetFileName(listboxTestsToRun.Text.ToString());
listboxTestsToRun.Items.Add(testNameShort);
}
提前致谢!
答案 0 :(得分:8)
假设 cmdBrowse是一个OpenFileDialog,并且您希望将用户选择的文件名添加到列表框中。在这种情况下,您可以编码
if (cmdBrowse.ShowDialog() == DialogResult.OK)
{
if(cmdBrowse.FileName.Length > 0)
{
string testNameShort = Path.GetFileName(cmdBrowse.FileName);
listboxTestsToRun.Items.Add(testNameShort);
}
}
答案 1 :(得分:1)
如果cmdBrowse
是OpenFileDialog
,那么,除非您期望列表框中有其他有意义的内容,否则您需要使用用户选择的路径(这是我怀疑你正在尝试做的事情,例如:
var fileName = Path.GetFileName(cmdBrowse.FileName);
答案 2 :(得分:1)
查看在开始检索的路径上执行Path.GetFileNameWithoutExtension(FilePath)方法,然后将它们添加到框中