C# ProgressBar最大值工作不正常(从阵列接收)

C# ProgressBar最大值工作不正常(从阵列接收),c#,arrays,directory,progress-bar,C#,Arrays,Directory,Progress Bar,实际上,我只是想让我的prgress条正常工作,但我遇到了一些问题,似乎无法设置最大值。我的代码从数组中获取一个数组.Length来尝试获取这个值,但它似乎不起作用。我似乎正在经历一个数组在读取过程中被重置,所以我无法获得合法值。我环顾四周,似乎没有其他人有这个问题,所以我做了一些试验。我的代码如下: 变量: public string[] oldFiles; public string[] newFiles; 函数(inDir和outDir的值只是目录的路径): 我似乎无法获得copyPro

实际上,我只是想让我的prgress条正常工作,但我遇到了一些问题,似乎无法设置最大值。我的代码从数组中获取一个数组.Length来尝试获取这个值,但它似乎不起作用。我似乎正在经历一个数组在读取过程中被重置,所以我无法获得合法值。我环顾四周,似乎没有其他人有这个问题,所以我做了一些试验。我的代码如下:

变量:

public string[] oldFiles;
public string[] newFiles;
函数(inDir和outDir的值只是目录的路径):


我似乎无法获得copyProgress.Maximum的准确值,这段代码或我尝试过的任何其他内容。感谢您的帮助,干杯取代此:

copyProgress.Maximum = oldFiles.Length + inDir.Length;
copyProgress.Step = 1;
copyProgress.Maximum = oldFiles.Length; 
copyProgress.Value= newFiles.Length;
包括以下内容:

copyProgress.Maximum = oldFiles.Length + inDir.Length;
copyProgress.Step = 1;
copyProgress.Maximum = oldFiles.Length; 
copyProgress.Value= newFiles.Length;

删除对copyProgress.PerformStep()的调用。

您能给我们看一下您的
.Value
代码吗?@Silvermind抱歉,我不太明白您要我做什么。@VanMan:Silvermind要求显示您设置Progressbar值的代码。如果我错了,请纠正我。使用inDir.Length确实毫无意义。进度不取决于文件名的长度,只取决于需要备份的文件数。@Sudhakar我明白了,事实上就是这样。从我的理解来看,最小值和最大值是我设定价值所需要的全部。如果我错了,请纠正我。我认为将旧文件夹和新文件夹的长度总和作为进度条的最大值是没有意义的。。。我假设OP只需要从旧文件夹备份文件的进度。@BeemerGuy这是正确的,我只是计算新文件,OP问题的模糊性使我们每个人对它的理解不同。@BeemerGuy我道歉,与这个小函数相比,这里有很多代码,所以我想这会成为我问题的焦点clearer@BeemerGuy:我假设VanMan想将最大值设置为OutDir Files Length,将步长值设置为newFiles Count。如果我错了,请更正我。