Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#从OpenFileDialog保存多个文件名_C#_Openfiledialog - Fatal编程技术网

C#从OpenFileDialog保存多个文件名

C#从OpenFileDialog保存多个文件名,c#,openfiledialog,C#,Openfiledialog,我有一个带有“添加”按钮的表单。单击时,用户从对话框中选择一个或多个文件 我的目标: 检索用户选择的所有文件的名称(从其文件所在的目录中),使用file.copy(我硬编码文件路径和文件名)将这些文件复制到用户未选择的指定文件夹中 我的问题: 如果用户只选择一个,则可以正常工作。例如: string name=System.IO.Path.GetFileName(sfd.FileName) 这就抓住了文件。然后: DialogResult dialogResult = M

我有一个带有“添加”按钮的表单。单击时,用户从对话框中选择一个或多个文件

我的目标:

检索用户选择的所有文件的名称(从其文件所在的目录中),使用file.copy(我硬编码文件路径和文件名)将这些文件复制到用户未选择的指定文件夹中

我的问题:

如果用户只选择一个,则可以正常工作。例如:

string name=System.IO.Path.GetFileName(sfd.FileName)

这就抓住了文件。然后:

            DialogResult dialogResult = MessageBox.Show("Is this published?", "", MessageBoxButtons.YesNo);
            if (dialogResult == DialogResult.Yes)
            {
                Directory.CreateDirectory("c:\\NewTest\\" + txtAcronym.Text + "\\" + txtMajor.Text + "." + txtMinor.Text + "\\Published");
                File.Copy(sfd.FileName, "c:\\NewTest\\" + txtAcronym.Text + "\\" + txtMajor.Text + "." + txtMinor.Text + "\\Published\\" + name);
            }
            else if (dialogResult == DialogResult.No)
            {
                Directory.CreateDirectory("c:\\NewTest\\" + txtAcronym.Text + "\\" + txtMajor.Text + "." + txtMinor.Text + "\\NonPublished");
                File.Copy(sfd.FileName, "c:\\NewTest\\" + txtAcronym.Text + "\\" + txtMajor.Text + "." + txtMinor.Text + "\\NonPublished\\" + name);
            }
我询问用户文档是否已发布。根据答案,它将创建一个目录并将文件放在该目录中


是否可以在openFileDialog中循环多个文件名,并将它们全部放在一个文件夹中,而不是一个文件夹中

将Multiselect设置为true

myFileDialog.Multiselect = true;
当用户接受选择时,您可以使用
文件名
属性获取它们。它返回一个字符串[]。请注意返回字符串的
FileName
的不同之处。您可以使用for或foreach来获得所有结果

foreach (string file in myFileDialog.FileNames)
{
    //do work
}

将Multiselect设置为true

myFileDialog.Multiselect = true;
当用户接受选择时,您可以使用
文件名
属性获取它们。它返回一个字符串[]。请注意返回字符串的
FileName
的不同之处。您可以使用for或foreach来获得所有结果

foreach (string file in myFileDialog.FileNames)
{
    //do work
}

将Multiselect设置为true

myFileDialog.Multiselect = true;
当用户接受选择时,您可以使用
文件名
属性获取它们。它返回一个字符串[]。请注意返回字符串的
FileName
的不同之处。您可以使用for或foreach来获得所有结果

foreach (string file in myFileDialog.FileNames)
{
    //do work
}

将Multiselect设置为true

myFileDialog.Multiselect = true;
当用户接受选择时,您可以使用
文件名
属性获取它们。它返回一个字符串[]。请注意返回字符串的
FileName
的不同之处。您可以使用for或foreach来获得所有结果

foreach (string file in myFileDialog.FileNames)
{
    //do work
}
重复:重复:重复:重复:重复: