我正在创建一个小的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();
}
进度条应该在压缩过程中填充。