打开文件对话框始终显示打开的第一个文件

本文关键字:文件 第一个 显示 对话框 | 更新日期: 2023-09-27 17:57:12

我正在尝试使用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);                
}

请指教。

打开文件对话框始终显示打开的第一个文件

您需要使用foreach循环中的name

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

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

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