嗨,我正在做一些复制的工作,并制作了一个进度条来更新给用户。我得到了我复制的文件数量,我在下面命名了计数器。而每个计数器/ 3,他们都会给出一个文本。但是,我遇到了问题,进度条不准确。我认为最大的原因是因为我每次都添加进度条50并且计数可以是像297,189,这不是50的时代。 任何人都可以帮助欢呼。
Dim counter = Directory.GetFiles(fileToCopy, "*", SearchOption.AllDirectories).Length
ProgressBar1.Increment(50)
Dim fileSize = GetFolderSize(fileToCopy)
If ProgressBar1.Value < Math.Ceiling(counter / 3) And ProgressBar1.Value > 0 Then
Label5.Text = ("1/3 of files already Copied")
End If
If ProgressBar1.Value < Math.Ceiling(counter * 2 / 3) And ProgressBar1.Value > Math.Ceiling(counter / 3) Then
Label5.Text = ("2/3 of files already Copied")
End If
ProgressBar1.Maximum = counter
If ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Stop()
Label5.Text = ("Copied is all done")
答案 0 :(得分:0)
看一下AsyncMethodHandlers
http://www.codeproject.com/Articles/29925/Responsive-UIs-for-WPF-Applications-Using-Asynchro
这可以让你走上正轨。它也有vb.net代码。