【问题标题】:Openfiledialog Multiselect打开文件对话框多选
【发布时间】:2014-07-13 14:10:27
【问题描述】:

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

我只设法存储了第一个选择的图片(根本没有语法或运行时错误)。

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

示例代码:

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

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

文件对话框的属性是:

1.修饰符:私有。 2. 多选:真。 3. 恢复目录:真。

有什么帮助吗?

【问题讨论】:

  • 你怎么说它只显示一个路径?当您选择两个文件然后它显示带有消息框的文件名时会发生什么。当您关闭该消息框时会发生什么。是否弹出其他消息框?

标签: c# openfiledialog


【解决方案1】:

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

foreach (String file in ofd_pic.FileNames)
{
    MessageBox.Show(file);
}

ofd_pic.FileName 属性只有在将MultiSelect 设置为false 时才应该使用,这样才有意义。我猜FileName 会在您启用MultiSelect 后返回第一个文件。

【讨论】:

    【解决方案2】:

    你使用了错误的参数。

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

    【讨论】:

      猜你喜欢
      • 2010-12-11
      • 1970-01-01
      • 2013-05-12
      • 2022-01-23
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多