将多个文件名添加到listBox,但没有扩展名? C#

时间:2011-08-27 01:22:31

标签: c# winforms listbox openfiledialog file-extension

我正在制作一个程序,将可执行文件添加到C#中的listBox。

我正在尝试将项目添加到listBox而不使用.exe扩展名。这是我之前的代码:

listBox1.Items.Add(openFiles.SafeFileNames.Replace(".exe",""));

它工作正常,但它不支持多个文件。当代码在选择多个项目而不是一个项目后运行时,它会添加项目“System.String []”(这不好!D:)

我可以得到一些帮助吗?我会尝试更好地解释一下,我没有多少睡眠,所以我可能会漫无目的地散步 -

我想同时向我的listBox添加多个文件,我的openFileDialog设置为multiSelect = true,但不包括文件扩展名(.exe)以及单个项目输入listBox。 / p>

如果不能轻易做到这一点,我只需切换回单选。

3 个答案:

答案 0 :(得分:3)

使用System.IO.Path.GetFileNameWithoutExtension(file)方法。

编辑:

foreach (string FileName in openFiles.SafeFileNames)
  {
    listBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(FileName));
  }

答案 1 :(得分:0)

我认为你需要做一个循环,从返回数组中的每个文件名中删除“.exe”:

foreach (string fileName in openFiles.SafeFileNames)
{
    listBox1.Items.Add(fileName.Replace(".exe",""));
}

答案 2 :(得分:0)

使用FileInfo类。它具有带和不带扩展名的名称,以及整个目录名和文件名。 MSDN FileInfo