OpenFileDialog始终显示第一个打开的文件

时间:2015-06-20 17:31:46

标签: c# winforms

我正在尝试使用OpenFileDialog打开多个文件 并在winforms媒体播放器COM组件中播放它们。 一切似乎都有效,但在列表框中我看到了第一个文件名 次数选择的文件数。

_playList.Items.Clear();
string[] filenames = { };
_openFile.Multiselect = true;
_openFile.ShowDialog();
//filenames = _openFile.FileNames;
foreach (var name in _openFile.FileNames)
{
    string filename = System.IO.Path.GetFileName(_openFile.FileName);
    _playList.Items.Add(filename);                
}

请告知。

2 个答案:

答案 0 :(得分:1)

您需要使用name循环中的foreach

string filename = System.IO.Path.GetFileName(name);

答案 1 :(得分:0)

你的问题是由HABO首先指出的错误引起的,但是我想也给出这个答案,因为ListBox.Items有一个名为AddRange的方法,可以使用Linq的单行代码< / p>

_playList.Items.AddRange(_openFile.FileNames
                                  .Select (fn => Path.GetFileName(fn))
                                  .ToArray());