Добавление нескольких имен файлов в listBox, но без расширений? C # - PullRequest
0 голосов
/ 27 августа 2011

Я делаю программу, которая добавляет исполняемые файлы в listBox на C #.

Я пытаюсь добавить элементы в listBox без расширения .exe.Это код, который у меня был ранее:

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

Он работал нормально, но не поддерживает несколько файлов.Когда код выполняется после выбора нескольких элементов, а не одного, он добавляет элемент «System.String []» (что не очень хорошо! D:)

Могу ли я получить некоторую помощь?Я попытаюсь объяснить это немного лучше, у меня было мало времени на сон, поэтому я немного болтаю -

Я хочу добавить несколько файлов в свой listBox одновременно, с моим openFileDialog, которыйимеет значение multiSelect = true, но исключает добавление расширений файлов (.exe) в listBox вместе с отдельными элементами.

Если это не может быть легко сделано, я просто переключусь обратно наодного выбора.

Ответы [ 3 ]

3 голосов
/ 27 августа 2011

Использовать System.IO.Path.GetFileNameWithoutExtension(file) метод.

EDIT:

foreach (string FileName in openFiles.SafeFileNames)
  {
    listBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(FileName));
  }
0 голосов
/ 27 августа 2011

Используйте класс FileInfo. Он имеет имя с расширениями и без них, а также с полным именем каталога и именем файла. MSDN FileInfo

0 голосов
/ 27 августа 2011

Я думаю, вам нужно будет выполнить цикл, удалив «.exe» из каждого имени файла в возвращаемом массиве:

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