0

2つのファイルがそこにコピーされるように、ユーザーがフォルダーを選択できるようにこのコードを作成しました。コードは次のとおりです。

string sourcePath = @"C:\Documents and Settings\akib\";
string fileName1 = @"untitled.jpg";
string fileName2 = @"Copyuntitled.jpg";
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
    var destinationFolderName = folderBrowserDialog1.SelectedPath;
    if (Directory.Exists(destinationFolderName))
    {
        File.Copy(sourcePath + "/" + fileName1, destinationFolderName
                  + "/" + fileName1);
        File.Copy(sourcePath + "/" + fileName2, destinationFolderName 
                  + "/" + fileName2);
    }
}

しかし今、私はそれを逆転させたいと思います。つまり、ユーザーがある場所に2つのファイルがある場合、それをにコピーしますc:\programfiles\myfolder。それでFolderBrowseDialog、そのような場合に使用できますか?はいの場合、どのように?

4

2 に答える 2

2

そのためには、Multiselectプロパティをtrueに設定してOpenFileDialogクラスを使用する必要があります。

string destination = @"c:\programfiles\myfolder";
OpenFileDialog ofd = new OpenFileDialog();
ofd.Multiselect = true;
if (DialogResult.OK == ofd.ShowDialog()) {
    foreach (string file in ofd.FileNames)  {
        File.Copy(file, Path.Combine(destination, Path.GetFileName(file)));
    }
}
于 2013-01-31T19:26:52.707 に答える
0

FolderBrowseDialogは、ファイルの読み取りまたは書き込み用のフォルダーを取得する場合とまったく同じ方法で使用できます。

于 2013-01-31T19:17:24.350 に答える