我正在使用多选文件对话框来浏览多张图片并将它们添加到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。
任何帮助?
答案 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);
}
}