在压缩过程中如何更新进度条?

时间:2019-05-09 18:42:28

标签: c#

我正在创建一个小的WindowForm App,它允许您选择一个位置并将当前文件夹目录压缩到该位置。在zip实际发生的情况下,如何让进度条准确显示zip的进度?

我创建了一个名为allfiles的数组,该数组获取CurrentDirectory并获取所有文件。然后,我创建了一个for循环,该循环获取数组的长度并遍历整个数组。我将进度条的最大值设置为该长度,然后将该值设置为i。实际运行zip时,最好填充进度栏?我现在的情况如何,它会先填充进度栏,然后再进行压缩。

private void Startbutton_Click(object sender, EventArgs e)
        {
            Zip zip = new Zip();
            string path = Directory.GetCurrentDirectory();
            Array allfiles = Directory.GetFiles(path);

            for (int i = 0; i < allfiles.Length; i++)
            {
                backupProgress.Maximum = allfiles.Length;
                backupProgress.Value = i;
            }
            Program.Zipfiles(filenamepath.Text + @"\backuptest.zip", path);
            cancelbackupbutton.Visible = true;


        }


public static void Zipfiles(string zipName, string addFile)
        {
            Zip zip = new Zip();

            zip.Open(zipName);
            zip.AddFiles(addFile);
            zip.Close();

        }

进度条应该在压缩过程中填充。

0 个答案:

没有答案