我只是想让我的 prgress bar 工作,但我遇到了问题,因为我似乎无法设置最大值。我的代码从数组中获取一个 Array.Length 来尝试获取此值,但它似乎不起作用。我似乎遇到了一个数组,它在阅读中途被重置,所以我无法获得合法的价值。我环顾四周,似乎没有其他人遇到这个问题,所以我做了一些实验。我的代码如下:
变量:
public string[] oldFiles;
public string[] newFiles;
函数(inDir 和 outDir 的值只是目录的路径):
public void Backup(string inDir, string outDir)
{
if (Directory.Exists(outDir))
{
oldFiles = Directory.GetFiles(inDir); //Directory From Input
newFiles = Directory.GetFiles(outDir); //Directory From Output
System.IO.FileInfo oldFile;
System.IO.FileInfo newFile;
copyProgress.Minimum = 0;
copyProgress.Maximum = oldFiles.Length + inDir.Length; //Problem Occurs Here
copyProgress.Step = 1;
我似乎无法从这段代码或我尝试过的任何其他代码中获得 copyProgress.Max 的准确值。任何帮助都是值得赞赏的,干杯
替换这个:
copyProgress.Maximum = oldFiles.Length + inDir.Length;
copyProgress.Step = 1;
具有以下:
copyProgress.Maximum = oldFiles.Length;
copyProgress.Value= newFiles.Length;
删除对 copyProgress.PerformStep() 的调用。