Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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
Vb.net 要向用户更新的准确进度条。运动模拟_Vb.net - Fatal编程技术网

Vb.net 要向用户更新的准确进度条。运动模拟

Vb.net 要向用户更新的准确进度条。运动模拟,vb.net,Vb.net,嗨,我正在做一些复制的工作,并取得了一个进度条更新到用户。我得到了我复制的文件的数量,我在下面命名了计数器。每个计数器/3,他们会给出一条文本。但是,我遇到了一个问题,进度条不准确。即使在最大值,我认为原因是我每次加进度条50,计数的次数可能是297189,而不是50的次数。 谁能帮我干杯 Dim counter = Directory.GetFiles(fileToCopy, "*", SearchOption.AllDirectories).Length Pr

嗨,我正在做一些复制的工作,并取得了一个进度条更新到用户。我得到了我复制的文件的数量,我在下面命名了计数器。每个计数器/3,他们会给出一条文本。但是,我遇到了一个问题,进度条不准确。即使在最大值,我认为原因是我每次加进度条50,计数的次数可能是297189,而不是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")
Dim counter=Directory.GetFiles(fileToCopy,“*”,SearchOption.AllDirectories)。长度
进度条1.增量(50)
Dim fileSize=GetFolderSize(文件复制)
如果ProgressBar1.Value<数学上限(计数器/3)且ProgressBar1.Value>0,则
Label5.Text=(“已复制文件的1/3”)
如果结束
如果ProgressBar1.Value<数学上限(计数器*2/3)和ProgressBar1.Value>数学上限(计数器/3),则
Label5.Text=(“已复制文件的2/3”)
如果结束
ProgressBar1.最大值=计数器
如果ProgressBar1.Value=ProgressBar1.Maximum,则
计时器1.Stop()
Label5.Text=(“复制完成”)

看看AsyncMethodHandler


这会让你走上正轨。它还有vb.net代码。

您应该向后台工作人员了解以下内容: