Как скопировать несколько файлов, отображая все в одном диалоге процесса копирования - PullRequest
0 голосов
/ 16 ноября 2018

Я создал копир с несколькими дисками.Что происходит, так это то, что все съемные диски перечислены в списке (lstDrives), а затем источник папки, которую я хочу скопировать на диски: (txtBrowseFolder.Text)

Он просматривает список дисков и копирует вкаждый диск.Теперь моя проблема в том, что, поскольку это цикл, требуется время для копирования одного диска за другим, НО я бы хотел, чтобы он копировал все сразу, используя один и тот же диалог копирования;показывая весь процесс копирования каждого копируемого элемента.

Ниже мой код:

Private Sub cmdCopyDrives_Click(sender As Object, e As EventArgs) Handles cmdCopyDrives.Click
    Dim sDrive As String
    strSource = txtBrowseFolder.Text

    Dim d As Integer

    For d = 0 To lstDrives.Items.Count - 1
        sDrive = lstDrives.Items(d).ToString

        My.Computer.FileSystem.CopyDirectory(strSource, sDrive, FileIO.UIOption.AllDialogs, FileIO.UICancelOption.DoNothing)
    Next
End Sub

1 Ответ

0 голосов
/ 16 ноября 2018

Похоже, что он копирует все диски. Если вы не имеете в виду под «все сразу» что-то кроме одной строки кода.

Чтобы показать прогресс, используйте элемент управления ProgressBar. Вы знаете общее количество дисков для обработки (lstDrives.Items.Count), поэтому вы можете обновить планку непосредственно перед следующим этапом в цикле For ... Next.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...