Openfiledialog Multiselect

时间:2014-05-24 07:24:48

标签: c# openfiledialog

我正在使用多选文件对话框来浏览多张图片并将它们添加到datagridview,然后从那里将它们存储在数据库中。

有些事情是错误的,我只设法存储第一张选定的图片(根本没有语法或运行时错误)。

经过检查,我发现文件对话框只获取第一张图片的完整路径,并将其用于其余图片。

示例代码:

if (ofd_pic.ShowDialog() == DialogResult.OK)
{
   foreach (String file in ofd_pic.FileNames)
   {
    MessageBox.Show(ofd_pic.FileName);
   }
}

该消息框将始终仅显示第一张图像的路径,而且我无法获取每张所选图像的路径。

文件对话框的属性为:

  

1.Modifiers:私人。   2. MultiSelect:True。 3. RestoreDirectory:True。

任何帮助?

2 个答案:

答案 0 :(得分:10)

您实际上是在遍历所有文件,但您从未使用它。您需要使用循环变量file

foreach (String file in ofd_pic.FileNames)
{
    MessageBox.Show(file);
}
仅当您将ofd_pic.FileName设置为MultiSelect时,才应使用

false属性,然后才有意义。启用FileName时,我猜MultiSelect会返回第一个文件。

答案 1 :(得分:1)

您使用了错误的参数。

if (ofd_pic.ShowDialog() == DialogResult.OK)
{
foreach (String file in ofd_pic.FileNames)
 {
 MessageBox.Show(file);
 }
}