2011-08-27 44 views
0

我正在制作一个程序,将可执行文件添加到C#中的列表框中。添加多个文件名到列表框,但没有扩展名? C#

我试图将项目添加到没有.exe扩展名的列表框。这是我以前的代码:

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

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

我可以得到一些帮助吗?我会尽力解释这个更好一点,我没有太多的睡眠,所以我可能会漫不经心 -

我想添加多个文件到我的列表框同时,我的openFileDialog设置到multiSelect = true,但不包括将文件扩展名(.exe)与单个项目一起输入列表框。

如果这不能轻松完成,我只需切换回单选。

+0

你确定没有'my.executor.exe'这样的文件名吗?因为你的代码会把它改成'mycutor',而不是'my.executor'。 – svick

+0

我不担心。 :S – Anonymous

回答

3

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

编辑:

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

完美无缺!万分感谢! – Anonymous

0

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

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

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