打开文件对话框始终显示打开的第一个文件
本文关键字:文件 第一个 显示 对话框 | 更新日期: 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());